Capítulo 14 Classes Utilitárias.

Slides:



Advertisements
Apresentações semelhantes
«Forte do Bom Sucesso (Lisboa) – Lápides 1, 2, 3» «nomes gravados, 21 de Agosto de 2008» «Ultramar.TerraWeb»
Advertisements

IFTO ESTRUTURA DE DADOS AULA 05 Prof. Manoel Campos da Silva Filho
Introdução à Programação Funções Matemáticas
Programação em Java Prof. Maurício Braga
Programação em Java Prof. Maurício Braga
Programação de Computadores
Nilo Menezes – Lógica de Programação –
INFORMAÇÕES COMPLEMENTARES
Introdução à Programação Um enfoque orientado a construção de modelos em programas baseados em objetos Gustavo Motta Departamento de Informática - UFPB.
A busca das mulheres para alcançar seu espaço dentro das organizações
Vamos contar D U De 10 até 69 Professor Vaz Nunes 1999 (Ovar-Portugal). Nenhuns direitos reservados, excepto para fins comerciais. Por favor, não coloque.
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capítulo 2 Tipos de Dados.
Capa Disciplina: Ajustamento de Observações
Operadores e Funções do LINGO
Introdução à Programação Apresentação da Disciplina 1º Semestre 2010 > PUCPR > Design Digital Bruno C. de Paula.
Exercício do Tangram Tangram é um quebra-cabeças chinês no qual, usando 7 peças deve-se construir formas geométricas.
Nome : Resolve estas operações começando no centro de cada espiral. Nos rectângulos põe o resultado de cada operação. Comprova se no final.
Interação entre objetos
Ludwig Krippahl, 2008 Programação para as Ciências Experimentais 2007/8 Teórica 4.
Octave Introdução, Variáveis e Matrizes
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Introdução 1.1 Octave Introdução.
Introdução aos Computadores e à Programação DI-FCT-UNL-2005/2006 Introdução 1.1 Octave Introdução.
Curso de ADMINISTRAÇÃO
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
Java: Pacotes e Modificadores de Visibilidade
Programação Básica em Java
EXPRESSÕES ARITMÉTICAS
Construção de Algoritmos 1
Membros estáticos.
Tipos de dados, valores literais e variáveis
Aula 4 Nomes, Vinculações, Tipos e Escopos
Aula 5 Tipos de Dados Universidade do Vale do Rio dos Sinos
Linguagem C Strings.
Linguagem C Strings.
Capítulo 9 Herança 1.
Introdução à linguagem de programação JAVA5
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação JAVA
Estrutura de Dados em Java
Provas de Concursos Anteriores
Renda até 2 SM.
Diagnósticos Educativos = Diagnósticos Preenchidos 100% = 1.539
MECÂNICA - DINÂMICA Exercícios Cap. 13, 14 e 17. TC027 - Mecânica Geral III - Dinâmica © 2013 Curotto, C.L. - UFPR 2 Problema
Bolha Posição de máx. W2 Ponto de Estagnação
CATÁLOGO GÉIA PÁG. 1 GÉIA PÁG. 2 HESTIA PÁG. 3.
Plataforma Brasil – Submissão de pesquisa
Projeto Marcas que Eu Gosto 1 PROJETO MARCAS QUE EU GOSTO Estudos Quantitativo de Consumidores Janeiro / 2005.
Introdução aos Computadores e Programação DI-FCT-UNL-2003/2004
Projeto Medindo minha escola.
Os métodos equals() e hashCode()
1 Aplicações do Fecho Regular. 2 A interseção de uma linguagem livre de contexto e uma linguagem regular é uma linguagem livre de contexto livre de contexto.
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
CONCEITOS FUNDAMENTAIS
Olhe fixamente para a Bruxa Nariguda
Stream – Fluxo I/O Sistema de Arquivos
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Stream – Fluxo I/O Manipulação de arquivos texto
Professora: Lucélia Alves de Oliveira
Listas Simplesmente Encadeadas
Tipos de Dados Operadores
Planilha Eletrônica - Excel
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery.
Funções Matemáticas e de String
M ÉTODOS DA C LASSE S TRING. FUNÇÕES COM STRING Uma string é um tipo texto que corresponde à união de um conjunto de caracteres. Em Java, as strings são.
Módulo 9 Strings , Coleções e I/O
Introdução à Linguagem JavaScript
Exercício de fixação Crie uma classe para refletir os dados de um CD. A classe deve guardar as seguintes informações: Nome do CD Cantor ou conjunto Gravadora.
Strings e Arrays Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Transcrição da apresentação:

Capítulo 14 Classes Utilitárias

Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util

Pacote java.lang Classe String Classes StringBuilder e StringBuffer Classe Math Classes wrappers Classe Object Classe System

Classe java.lang.String Representa uma seqüência de quaisquer tipos de caracteres e de qualquer tamanho. String nome = new String(“Joaquim Oliveira”); ou String nome = “Joaquim Oliveira”;

Métodos de um String Considere os Strings abaixo: String frase1 = “Linguagem Java”; String frase2 = “LINGUAGEM JAVA”; Sintaxe Resultado frase1.length() 14 frase1.charAt(1) ‘i’ frase1.equals(frase2) false frase1.equalsIgnoreCase(frase2) true frase1.indexOf(“J”) 10 frase1.concat(“ versão 6”); “Linguagem Java versão 6” frase1.replaceAll(“Java”, “Delphi”) “Linguagem Delphi” frase1.substring(3, 5) “gu” frase1.toLowerCase() “linguagem java” frase1.toUpperCase() “LINGUAGEM JAVA”

Seu nome possui 15 caracteres Método length() Retorna a quantidade de caractes contidos no String. String nome = “Manuel da Silva”; int tamanho = nome.length(); System.out.println(“Seu nome possui ” + tamanho + “ caracteres.”); Seu nome possui 15 caracteres

Método charAt() Retorna o caracter na posição especificada. String nome = “Manuel da Silva”; char letra = nome.charAt(2); System.out.println(“Letra da posição 2:” + letra); Letra da posição 2: n

Método equals() Verifica se o string é igual a um outro string especificado. String a = “casa”; String b = “nova”; String c = “casanova”; System.out.println(c == a + b); System.out.println(c.equals(a + b)); false true

Método equalsIgnoreCase() Verifica se o string é igual a um outro string especificado sem diferenciar maiúsculas e minúsculas. String frase1 = “Linguagem Java”; String frase2 = “LINGUAGEM JAVA”; System.out.println(frase1.equals(frase2)); System.out.println(frase1.equalsIgnoreCase(frase2)); false true

A palavra Java está na posição 10 Método indexOf() Procura dentro de si por um trecho de string especificado String frase = “Linguagem Java”; int posicao = frase.indexOf(“Java”); System.out.println( “A palavra Java está na posição ” + posicao); A palavra Java está na posição 10

Método concat() Retorna um novo String contendo o String original concatenado ao String especificado. String frase1 = “Linguagem Java”; String frase2 = frase1.concat(“ versão 6”); System.out.println(frase1); System.out.println(frase2); Linguagem Java Linguagem Java versão 6

Método replaceAll() Retorna um novo String igual ao original contendo trechos substituídos. String frase1 = “Linguagem Java”; String frase2 = frase1.replaceAll(“Java”, “Delphi”); System.out.println(frase1); System.out.println(frase2); Linguagem Java Linguagem Delphi

Método substring() Retorna um trecho do String original. String frase = “Linguagem Java”; String trecho1 = frase.substring(10, 12); String trecho2 = frase.substring(10); System.out.println(trecho1); System.out.println(trecho2); Ja Java

Método toLowerCase() Retorna uma cópia do String original convertido para letras minúsculas. String frase1 = “Linguagem Java”; String frase2 = frase1.toLowerCase(); System.out.println(frase2); linguagem java

Método toUpperCase() Retorna uma cópia do String original convertido para letras maiúsculas. String frase1 = “Linguagem Java”; String frase2 = frase1.toUpperCase(); System.out.println(frase2); LINGUAGEM JAVA

Método trim() Retorna uma cópia do String original excluíndo todos os caracteres não imprimíveis (espaços, tabulações, quebras de linha, etc) ao início e ao fim do String. String frase = “ Linguagem Java ”; System.out.println(frase.trim()); Linguagem Java

Características da classe String Uma vez criado, um String em memória não pode ser modificado. A concatenação ou outra operação sobre um String sempre gera a criação em memória de um outro String. Em operações sucessivas de concatenação e outras operações, a classe String não é a classe mais recomendada.

Classes java.lang.StringBuilder e java.lang.StringBuffer Classes auxiliares utilizadas na manipulação de strings (concatenação e outras operações); Oferece maior desempenho em tarefas de concatenação ou alteração de strings; Possuem exatamente a mesma funcionalidade; A classe StringBuilder é mais performática e foi adicionada à linguagem a partir da versão 5; A classe StringBuffer é mais antiga e garante a sincronia em acessos multithread.

Métodos do StringBuilder StringBuilder builder = null; builder = new StringBuilder("Linguagem Java"); builder.append(" 1.4"); System.out.println(builder); // Exibe “Linguagem Java 1.4” builder.delete(0, 10); System.out.println(builder); // Exibe “Java” builder.insert(10, "de programação "); System.out.println(builder); // Exibe “Linguagem de programação Java”

Método append() Adiciona um trecho de String ao final do buffer. StringBuilder builder; builder = new StringBuilder("Linguagem Java"); builder.append(" 1.4"); System.out.println(builder); Linguagem Java 1.4

Método delete() Remove do buffer um trecho de String. StringBuilder builder; builder = new StringBuilder("Linguagem Java"); builder.delete(0, 10); System.out.println(builder); Java

Linguagem de programação Java Método insert() Insere no buffer um trecho de String na posição especificada. StringBuilder builder; builder = new StringBuilder("Linguagem Java"); builder.insert(10, “de programação ”); System.out.println(builder); Linguagem de programação Java

Métodos em cascata StringBuilder builder; String result; builder = new StringBuilder("Linguagem Java"); result = builder.insert(10, “de programação ”) .delete(0, 10) .append(“ 1.4”) .toString(); Necessário para tornar compatível com o tipo String

Exercício Laboratório 1

A classe java.lang.Math Contém métodos utilitários para cálculos matemáticos; Não precisa (nem pode) ser instanciada; Todos os seus membros são estáticos.

Funções Matemáticas Função Descrição Math.abs(a) Valor absoluto Math.cos(a) Cosseno (a em radianos) Math.log(a) Logarítmo neperiano Math.max(a, b) Maior valor entre a e b Math.min(a, b) Menor valor entre a e b Math.pow(a, b) Potência de base a e expoente b, ou seja (ab) Math.random() Número fracionário aleatório entre 0 e 1 Math.round(a) Arredonda o valor de a Math.sin(a) Seno (a em radianos) Math.sqrt(a) Raiz quadrada Math.tan(a) Tangente (a em radianos)

Método sqrt() Calcula a raiz quadrada do valor especificado. double result = Math.sqrt(144); System.out.println(result); 12.0

Método round() Arredonda um double convertendo para long. long result = Math.round(4.97); System.out.println(result); 5

Método abs() Converte um número para positivo. double result1 = Math.abs(-5.37); double result2 = Math.abs(8.5); System.out.println(result1); System.out.println(result2); 5.37 8.5

Método ceil() Arredonda um número fracionário (double) sempre para cima. double result1 = Math.ceil(8.25); double result2 = Math.ceil(-2.4); System.out.println(result1); System.out.println(result2); 9.0 -2.0

Método floor() Arredonda um número fracionário (double) sempre para baixo. double result1 = Math.floor(8.25); double result2 = Math.floor(-2.4); System.out.println(result1); System.out.println(result2); 8.0 -3.0

Método max() Retorna o maior valor dentre dois números especificados. double result = Math.max(4.97, 8.6); System.out.println(result); 8.6

Método min() Retorna o menor valor dentre dois números especificados. double result = Math.min(4.97, 8.6); System.out.println(result); 4.97

Método pow() Retorna ao potência aritmética a partir de uma base e um expoente (um número elevado a outro). double result = Math.pow(3, 4); System.out.println(result); 81.0

Método random() Retorna um número fracionário (double) aleatório entre 0 e 1. double result = Math.random(); System.out.println(result); 0.7779996188877593

Constante PI Constante matemática utilizada para cálculos trigonométricos. System.out.println(Math.PI); 3.141592653589793

Método sin() Função trigonométrica que calcula o seno de um ângulo medido em radianos. double angulo = Math.PI / 2; System.out.println(Math.sin(angulo)); 1.0 90º

Método cos() Função trigonométrica que calcula o cosseno de um ângulo medido em radianos. double angulo = Math.PI / 2; System.out.println(Math.sin(angulo)); 0.0

Método tan() Função trigonométrica que calcula a tangente de um ângulo medido em radianos. double angulo = Math.PI / 3; System.out.println(Math.tan(angulo)); 1.7320508075688767 ( ) 60º

Método toDegrees() Função trigonométrica que converte um ângulo em radianos para graus. double angulo = Math.PI / 2; System.out.println(Math.toDegrees(angulo)); 90.0

Método toRadians() Função trigonométrica que converte um ângulo em graus para. double angulo = 90; System.out.println(Math.toRadians(angulo)); 1.5707963267948966 ( )

Exercício Tabuada de potências Crie um programa em java que calcule todas as tabuadas de potenciação de 1 a 10. 1 elevado a 1 = 1 1 elevado a 2 = 1 . . . . . . 2 elevado a 1 = 2 2 elevado a 2 = 4 10 elevado a 10 = 10000000000

Exercício desafio Sorteio da Mega-sena Crie um programa em java que exiba seis dezenas da mega-sena aleatoriamente. Cada uma das dezenas deve ser um número inteiro entre 1 e 60. A cada vez que o programa for executado, novas dezenas deverão ser exibidas pelo programa. 25 43 8 19 51 12

Classes “wrappers” (invólucros) java.lang.Byte java.lang.Short java.lang.Integer java.lang.Long java.lang.Float java.lang.Double java.lang.Character java.lang.Boolean

Classes “wrappers” (invólucros) Classes utilizadas para reter valores primitivos a serem tratados como objetos. Object[] listaObjetos = { new Cliente(“João Silva”, “7836-1278”), new ContaCorrente(7871, 2500.15), new Integer(26), new Double(750.5) }; Tipos primitivos não podem ser inseridos aqui. Utilize “wrappers”

Autoboxing e Auto-unboxing Integer composto1 = new Integer(10); int primitivo1 = 10; Integer composto2 = primitivo1; int primitivo2 = composto1; Até a versão 1.4 não era permitido

Autoboxing e Auto-unboxing Integer composto1 = new Integer(10); int primitivo1 = 10; Integer composto2 = primitivo1; int primitivo2 = composto1; Autoboxing Auto-unboxing A partir da versão 5, é aceito

Conversão de texto Além disto, as classes wrappers possuem métodos estáticos utilizados na conversão de string. String s = “34.5”; byte b = Byte.parseByte(s); short s = Short.parseShort(s); int i = Integer.parseInt(s); float f = Float.parseFloat(s); double d = Double.parseDouble(s);

A classe java.lang.Object Principal classe da linguagem Java; É a classe mãe de todas as outras classes; Possui métodos de base que são automaticamente herdados por todas as classes que existem. Dentre os principais métodos encontrar herdados podemos citar o método toString() que pode ser sobrescrito por quaisquer classes tornando-as mais compreensíveis à aplicação

O método toString() public class Funcionario { private int matricula; private String nome; private String cargo; . . . . . . public String toString() { return matricula + “ – “ + nome; }

O método toString() Funcionario f1 Funcionario f2; f1 = new Funcionario(345, “Manuel”, “Padeiro”); f2 = new Funcionario(829, “Joaquim”, “Quitandeiro”); System.out.println(“Funcionário A: ” + f1); System.out.println(“Funcionário B: ” + f2); Funcionário A: 345 – Manuel Funcionário B: 829 – Joaquim

A classe java.lang.System Membro out: Representa a saída padrão de texto ao usuário (geralmente o prompt de comando); Seus principais métodos são print() e println() utilizados para exibição de dados.

A classe java.lang.System Método exit() Força o encerramento da aplicação Java if (resultadoOk) { // Saída com sucesso System.exit(0); } else { // Encerra avisando que ocorreu algum problema System.exit(1); }

A classe java.lang.System Método getProperty() Captura informações de ambiente do sistema operacional ou do próprio JVM String nomeOS = System.getProperty(“os.name”); String versaoJava = System.getProperty(“java.version”);

A classe java.lang.System Principais Propriedades do Java java.version Versão do Java java.vendor Fabricante java.class.path Class path (Relação de pastas de classes) java.io.tmpdir Diretório temporário do SO os.name Nome do SO os.version Versão do SO file.separator Separador de diretório ("/" no UNIX) path.separator Separador em listas (":" no UNIX) line.separator Separador de linhas ("\n" no UNIX) user.name Nome do usuário do SO user.home Diretório “home” do usuário user.dir Diretório corrente

Pacotes java.util e java.text Classe java.util.Date Classe java.util.Calendar Classe java.text.SimpleDateFormat Classe java.text.DecimalFormat

Classes java.util.Date e java.text.SimpleDateFormat java.util.Date – Representa uma data que pode ser formatada para exibição. java.text.SimpleDateFormat – Representa um formato de apresentação de data escolhido pelo programador

Classes java.util.Date e java.text.SimpleDateFormat Date agora = new Date(); SimpleDateFormat mascara = new SimpleDateFormat(“HH:mm:ss”); System.out.println(“São exatamente ” + mascara.format(agora)); São exatamente 22:43:15

SimpleDateFormat Caracteres de Formatação Símbolo Descrição y Ano M Mês d Dia do mês (1-31) h Hora (1-12) H Hora (0-23) m Minuto s Segundo Símbolo Descrição S Milissegundo E Dia da semana D Dia do ano w Semana do ano W Semana do mês a Marcador AM/PM

Classe java.util.Calendar Também representa uma data Padronizada para diversos calendários regionais (Gregoriano, Budista, Japonês, outros) Tipicamente utilizada para efetuar cálculos com datas

Calendar – Exemplo /* Captura a data de hoje no calendário do sistema */ Calendar c = Calendar.getInstance(); /* Altera c para 2 anos no futuro */ c.add(Calendar.YEAR, 2); /* Altera c retrocedendo 2 meses */ c.add(Calendar.MONTH, -2); /* Captura o dia do mês do calendário c */ int dia = c.get(Calendar.DAY_OF_MONTH); /* Altera o calendário c para a data 13/08/2004 18:30:15 */ c.set(2004, 7, 13, 18, 30, 15); // O Mês é base zero

Dia da semana (1-Dom até 7-Sáb) Calendar – Campos Campos utilizados pelos métodos get e add: Campo Descrição Calendar.YEAR Ano Calendar.MONTH Mês (0-11) Calendar.DAY_OF_MONTH Dia do mês (1-31) Calendar.DAY_OF_WEEK Dia da semana (1-Dom até 7-Sáb) Calendar.DAY_OF_YEAR Dia do ano (1-365) Calendar.HOUR Hora (1-12) Calendar.HOUR_OF_DAY Hora(0-23) Calendar.MINUTE Minuto Calendar.SECOND Segundo Calendar.MILLISECOND Milissegundo

Calendar – Outro exemplo /* Captura a data de hoje no calendário do sistema */ Calendar c = Calendar.getInstance(); /* Avança 90 dias */ c.add(Calendar.DAY_OF_MONTH, 90); /* Converte de Calendar para Date */ Date d = c.getTime(); /* Cria uma máscara para a data */ SimpleDateFormat mascara = new SimpleDateFormat(“dd/MM/yyyy”); /* Exibe a data no formato desejado */ System.out.println(“Daqui a 90 dias será ” + mascara.format(d));

Calendar Diferença entre datas /* Cria dois calendários */ Calendar nasc = Calendar.getInstance(); Calendar hoje = Calendar.getInstance(); /* Altera o calendário nasc para o dia do nascimento */ nasc.set(1988, 0, 15, 12, 10, 30); // 15/01/1998 12:10:30 /* Obtem a representação interna dos calendários em milissegundos */ long intNasc = nasc.getTimeInMillis(); long intHoje = hoje.getTimeInMillis(); /* Calcula a idade (em milissegundos) */ long idade = intHoje – intNasc; /* Exibe a idade */ System.out.println(“Você possui ” + idade + “ milissegundos de idade”);

Classe java.text.DecimalFormat É utilizada na formatação de números // Recebe o salario como double double salario = 1230.5; // Cria máscara de exibição DecimalFormat mascara = new DecimalFormat(“#,##0.00”); // Aplica máscara sobre o salario para exibir System.out.println(“Salário: ” + mascara.format(salario));

DecimalFormat Caracteres de Formatação Símbolo Descrição Dígito de exibição obrigatória # Dígito de exibição opcional . Define a posição do separador decimal. , Define a posição do separador de milhares % Utilizado ao fim da formatação para indicar que o número deverá ser exibido em formato percentual.

Exercício Crie um programa em Java que calcule quantos dias faltam para o natal do ano corrente.

Classes estudas java.lang java.util java.text Character Boolean String StringBuilder StringBuffer Math Byte Short Integer Long Float Double Character Boolean Object System java.util Date Calendar java.text SimpleDateFormat DecimalFormat

Conhecendo novas classes nativas do Java http://download.oracle.com/javase/6/docs/api