Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias...
-
Upload
sonia-botelho-bacelar -
Category
Documents
-
view
241 -
download
0
Transcript of Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias...
![Page 1: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/1.jpg)
Capítulo 14
Classes Utilitárias
![Page 2: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/2.jpg)
2Capítulo 14 – Classes Utilitárias
Classes Utilitárias
• Pacote java.lang
• Pacote java.text
• Pacote java.util
![Page 3: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/3.jpg)
3Capítulo 14 – Classes Utilitárias
Pacote java.lang
• Classe String
• Classes StringBuilder e StringBuffer
• Classe Math
• Classes wrappers
• Classe Object
• Classe System
![Page 4: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/4.jpg)
4Capítulo 14 – Classes Utilitárias
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”;
![Page 5: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/5.jpg)
5Capítulo 14 – Classes Utilitárias
Métodos de um String
Sintaxe Resultadofrase1.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”
Considere os Strings abaixo:String frase1 = “Linguagem Java”;String frase2 = “LINGUAGEM JAVA”;
![Page 6: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/6.jpg)
6Capítulo 14 – Classes Utilitárias
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
![Page 7: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/7.jpg)
7Capítulo 14 – Classes Utilitárias
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
![Page 8: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/8.jpg)
8Capítulo 14 – Classes Utilitárias
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));
falsetrue
![Page 9: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/9.jpg)
9Capítulo 14 – Classes Utilitárias
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));
falsetrue
![Page 10: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/10.jpg)
10Capítulo 14 – Classes Utilitárias
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
![Page 11: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/11.jpg)
11Capítulo 14 – Classes Utilitárias
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 JavaLinguagem Java versão 6
![Page 12: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/12.jpg)
12Capítulo 14 – Classes Utilitárias
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 JavaLinguagem Delphi
![Page 13: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/13.jpg)
13Capítulo 14 – Classes Utilitárias
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);
JaJava
![Page 14: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/14.jpg)
14Capítulo 14 – Classes Utilitárias
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
![Page 15: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/15.jpg)
15Capítulo 14 – Classes Utilitárias
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
![Page 16: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/16.jpg)
16Capítulo 14 – Classes Utilitárias
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
![Page 17: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/17.jpg)
17Capítulo 14 – Classes Utilitárias
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.
![Page 18: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/18.jpg)
18Capítulo 14 – Classes Utilitárias
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.
![Page 19: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/19.jpg)
19Capítulo 14 – Classes Utilitárias
Métodos do StringBuilderStringBuilder builder = null;
builder = new StringBuilder("Linguagem Java");builder.append(" 1.4");System.out.println(builder); // Exibe “Linguagem Java 1.4”
builder = new StringBuilder("Linguagem Java");builder.delete(0, 10);System.out.println(builder); // Exibe “Java”
builder = new StringBuilder("Linguagem Java");builder.insert(10, "de programação ");System.out.println(builder); // Exibe “Linguagem de programação Java”
![Page 20: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/20.jpg)
20Capítulo 14 – Classes Utilitárias
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
![Page 21: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/21.jpg)
21Capítulo 14 – Classes Utilitárias
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
![Page 22: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/22.jpg)
22Capítulo 14 – Classes Utilitárias
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
![Page 23: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/23.jpg)
23Capítulo 14 – Classes Utilitárias
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 tornarcompatível com o tipo String
![Page 24: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/24.jpg)
24Capítulo 14 – Classes Utilitárias
Exercício
• Laboratório 1
![Page 25: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/25.jpg)
25Capítulo 14 – Classes Utilitárias
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.
![Page 26: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/26.jpg)
26Capítulo 14 – Classes Utilitárias
Funções MatemáticasFunçã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)
![Page 27: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/27.jpg)
27Capítulo 14 – Classes Utilitárias
Método sqrt()
• Calcula a raiz quadrada do valor especificado.
double result = Math.sqrt(144);System.out.println(result);
12.0
![Page 28: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/28.jpg)
28Capítulo 14 – Classes Utilitárias
Método round()
• Arredonda um double convertendo para long.
long result = Math.round(4.97);System.out.println(result);
5
![Page 29: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/29.jpg)
29Capítulo 14 – Classes Utilitárias
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.378.5
![Page 30: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/30.jpg)
30Capítulo 14 – Classes Utilitárias
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
![Page 31: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/31.jpg)
31Capítulo 14 – Classes Utilitárias
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
![Page 32: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/32.jpg)
32Capítulo 14 – Classes Utilitárias
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
![Page 33: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/33.jpg)
33Capítulo 14 – Classes Utilitárias
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
![Page 34: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/34.jpg)
34Capítulo 14 – Classes Utilitárias
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
![Page 35: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/35.jpg)
35Capítulo 14 – Classes Utilitárias
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
![Page 36: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/36.jpg)
36Capítulo 14 – Classes Utilitárias
Constante PI
• Constante matemática utilizada para cálculos trigonométricos.
System.out.println(Math.PI);
3.141592653589793
![Page 37: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/37.jpg)
37Capítulo 14 – Classes Utilitárias
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º
![Page 38: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/38.jpg)
38Capítulo 14 – Classes Utilitárias
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.cos(angulo));
0.0
![Page 39: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/39.jpg)
39Capítulo 14 – Classes Utilitárias
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º
![Page 40: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/40.jpg)
40Capítulo 14 – Classes Utilitárias
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
![Page 41: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/41.jpg)
41Capítulo 14 – Classes Utilitárias
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 ( )
![Page 42: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/42.jpg)
42Capítulo 14 – Classes Utilitárias
Exercício
• Tabuada de potênciasCrie um programa em java que calcule todas as tabuadas de
potenciação de 1 a 10.
1 elevado a 1 = 11 elevado a 2 = 1. . . . . .1 elevado a 1 = 12 elevado a 1 = 22 elevado a 2 = 4. . . . . .10 elevado a 10 = 10000000000
![Page 43: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/43.jpg)
43Capítulo 14 – Classes Utilitárias
Exercício desafio
• Sorteio da Mega-senaCrie 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
![Page 44: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/44.jpg)
44Capítulo 14 – Classes Utilitárias
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
![Page 45: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/45.jpg)
45Capítulo 14 – Classes Utilitárias
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 podemser inseridos aqui.Utilize “wrappers”
![Page 46: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/46.jpg)
46Capítulo 14 – Classes Utilitárias
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
![Page 47: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/47.jpg)
47Capítulo 14 – Classes Utilitárias
Autoboxing e Auto-unboxing
Integer composto1 = new Integer(10);int primitivo1 = 10;
Integer composto2 = primitivo1;int primitivo2 = composto1;
A partir da versão 5, é aceito
Autoboxing
Auto-unboxing
![Page 48: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/48.jpg)
48Capítulo 14 – Classes Utilitárias
Conversão de texto
• Além disto, as classes wrappers possuem métodos estáticos utilizados na conversão de string.
String t = “34.5”;
byte b = Byte.parseByte(t);short s = Short.parseShort(t);int i = Integer.parseInt(t);float f = Float.parseFloat(t);double d = Double.parseDouble(t);
![Page 49: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/49.jpg)
49Capítulo 14 – Classes Utilitárias
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
![Page 50: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/50.jpg)
50Capítulo 14 – Classes Utilitárias
O método toString()public class Funcionario {
private int matricula;private String nome;private String cargo;. . . . . .. . . . . .public String toString() {
return matricula + “ – “ + nome;}
}
![Page 51: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/51.jpg)
51Capítulo 14 – Classes Utilitárias
O método toString()Funcionario f1Funcionario 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 – ManuelFuncionário B: 829 – Joaquim
![Page 52: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/52.jpg)
52Capítulo 14 – Classes Utilitárias
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.
![Page 53: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/53.jpg)
53Capítulo 14 – Classes Utilitárias
A classe java.lang.System
• Método exit()– Força o encerramento da aplicação Java
if (resultadoOk) {
// Saída com sucessoSystem.exit(0);
} else {
// Encerra avisando que ocorreu algum problemaSystem.exit(1);
}
![Page 54: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/54.jpg)
54Capítulo 14 – Classes Utilitárias
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”);
![Page 55: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/55.jpg)
55Capítulo 14 – Classes Utilitárias
A classe java.lang.SystemPrincipais 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
![Page 56: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/56.jpg)
56Capítulo 14 – Classes Utilitárias
Pacotes java.util e java.text
• Classe java.util.Date
• Classe java.util.Calendar
• Classe java.text.SimpleDateFormat
• Classe java.text.DecimalFormat
![Page 57: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/57.jpg)
57Capítulo 14 – Classes Utilitárias
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
![Page 58: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/58.jpg)
58Capítulo 14 – Classes Utilitárias
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
![Page 59: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/59.jpg)
59Capítulo 14 – Classes Utilitárias
SimpleDateFormatCaracteres de Formatação
Símbolo Descriçãoy 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çãoS Milissegundo
E Dia da semana
D Dia do ano
w Semana do ano
W Semana do mês
a Marcador AM/PM
![Page 60: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/60.jpg)
60Capítulo 14 – Classes Utilitárias
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
![Page 61: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/61.jpg)
61Capítulo 14 – Classes Utilitárias
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
![Page 62: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/62.jpg)
62Capítulo 14 – Classes Utilitárias
Calendar – CamposCampos utilizados pelos métodos get e add:
Campo DescriçãoCalendar.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
![Page 63: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/63.jpg)
63Capítulo 14 – Classes Utilitárias
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));
![Page 64: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/64.jpg)
64Capítulo 14 – Classes Utilitárias
CalendarDiferenç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”);
![Page 65: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/65.jpg)
65Capítulo 14 – Classes Utilitárias
Classe java.text.DecimalFormat
• É utilizada na formatação de números
// Recebe o salario como doubledouble salario = 1230.5;
// Cria máscara de exibiçãoDecimalFormat mascara = new DecimalFormat(“#,##0.00”);
// Aplica máscara sobre o salario para exibirSystem.out.println(“Salário: ” + mascara.format(salario));
![Page 66: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/66.jpg)
66Capítulo 14 – Classes Utilitárias
DecimalFormatCaracteres de Formatação
Símbolo Descrição0 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.
![Page 67: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/67.jpg)
67Capítulo 14 – Classes Utilitárias
Exercício
• Crie um programa em Java que calcule quantos dias faltam para o natal do ano corrente.
![Page 68: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/68.jpg)
68Capítulo 14 – Classes Utilitárias
Classes estudas
• java.lang– String– StringBuilder– StringBuffer– Math– Byte– Short– Integer– Long– Float– Double
– Character– Boolean– Object– System
• java.util– Date– Calendar
• java.text– SimpleDateFormat– DecimalFormat
![Page 69: Capítulo 14 Classes Utilitárias. 2Capítulo 14 – Classes Utilitárias Classes Utilitárias Pacote java.lang Pacote java.text Pacote java.util.](https://reader035.fdocuments.net/reader035/viewer/2022062218/570638701a28abb82390768f/html5/thumbnails/69.jpg)
69Capítulo 14 – Classes Utilitárias
Conhecendo novas classes nativas do Java
http://download.oracle.com/javase/6/docs/api