Material de Aulas Java-2 Métodos Internos Operações matemáticas A linguagem Java conta com a classe Math para efetivação de diversos cálculos matemáticos que possuem algoritmos mais sofisticados. Esta classe Math possui duas constantes matemáticas, sendo Math.PI com valor 3.14159265358979323846 e Math.E para cálculos de logaritmos naturais com valor de 2.7182818284590452354. Além das constantes, esta classe possui um conjunto de 22 métodos matemáticos para realização de variados cálculos, tais como trigonométricos, exponenciais, logaritmos, entre outras. Cálculo Exponencial Métodos pow() e sqrt() da classe Math, que operam com valores do tipo double. Sintaxe do método pow: Math.pow(x,y) Este método possibilita o cálculo da potência da base x elevada ao expoente y. Elaborar um programa que calcule as seguintes potências: 2e3 , 2e0, 10e0, -2e3, 2e-3. class C07EX08 { public static void main(String args[]) { System.out.println(); System.out.println(Math.pow(2,3)); System.out.println(Math.pow(2,0)); System.out.println(Math.pow(10,0)); System.out.println(Math.pow(-2,3)); System.out.println(Math.pow(2,-3)); } } Prof. Walcyr 1 Material de Aulas Java-2 O método sqrt() da classe Math possibilita o cálculo da raiz quadrada de um valor x. Se o valor do parâmetro for negativo, ocorrerá um erro no cálculo. O parâmetro x deve ser um valor do tipo double. Elaborar um programa que calcule as seguintes raízes quadradas: 9, 2, 144 e raiz2 de 16. Outros métodos para manipulação numérica Valor Absoluto – Math.abs(x) O método abs() da classe Math possibilita obter o valor absoluto (valor positivo) de um valor do tipo doublé, float, int ou long fornecido como parâmetro por x. Utilize o método abs() para converter em positivo um valor negativo. Elaborar um programa que converta os valores negativos (-8.238765, -9 ) Prof. Walcyr 2 Material de Aulas Java-2 Valor de teto (maior inteiro) – Math.ceil(x) O método ceil() da classe Math possibilita obter o arredondamento para cima de um determinado valor positivo ou negativo, representado pelo parâmetro x. O arredondamento será efetivado na porção inteira de um valor do tipo doublé. Desta forma, o valor será arredondado para o próximo inteiro ao valor estabelecido. Elaborar um programa que arredonde os valores 2.03 e -2.03 Prof. Walcyr 3 Material de Aulas Java-2 Valor de piso (menor inteiro) – Math.floor(x) O método floor() da classe Math possibilita obter o arredondamento para baixo de um determinado valor positivo ou negativo, representado pelo parâmetro x. O arredondamento será efetivado na porção inteira de um valor do tipo doublé. Desta forma, o valor será arredondado para o próximo inteiro ao valor estabelecido. Elaborar um programa que arredonde os valores 2.03 e -2.03 Prof. Walcyr 4 Material de Aulas Java-2 Resto de divisão – Math.IEEEremainder(x,y) O método IEEEremainder() da classe Math possibilita obter o resto da divisão de valores numéricos do tipo doublé. Para valores do tipo int ou long utilize o operador %(x/y). Elabore um programa usando o método acima, para obter o resto da divisão entre 18.7 e 4.3 e entre 10.0 e 3.0. Prof. Walcyr 5 Material de Aulas Java-2 Maior valor – Math.max(x,y) O método max() da classe Math possibilita obter o maior valor entre dois valores fornecidos. Os valores podem ser do tipo double, float, int ou long. Elaborar um programa usando o método acima para informar o maior valor de (18.7 e 4.3) e de (10 e 3). Prof. Walcyr 6 Material de Aulas Java-2 Menor valor – Math.min(x,y) O método min() da classe Math possibilita obter o menor valor entre dois valores fornecidos, que podem ser do tipo double, int ou long. Elaborar um programa usando o método acima para informar o menor valor de (18.7 e 4.3) e de (10 e 3). Prof. Walcyr 7 Material de Aulas Java-2 Valor aleatório – Math.random() O método random() da classe Math possibilita obter valores aleatórios. Assim sendo, toda vez que o método random() é chamado, um novo valor é sorteado. O valor aleatório gerado é do tipo float, na faixa de 0.0 até 1.0. Elaborar um programa usando o método acima para informar um valor aleatório qualquer e outro valor aleatório x 10. Prof. Walcyr 8 Material de Aulas Java-2 Truncar valor – Math.rint(x) O método rint(x) da classe Math possibilita truncar um valor do tipo doublé e efetua o arredondamento para um valor inteiro acima ou abaixo do fornecido. Elaborar um programa usando o método acima para truncar o valor de (18.7 ) e de (10.3). Prof. Walcyr 9 Material de Aulas Java-2 Arredondar valor – Math.round(x) O método round(x) da classe Math possibilita arredondar um valor do tipo double ou float para um outro do tipo int que pode ser inteiro acima ou abaixo do valor fornecido. Elaborar um programa usando o método acima para arredondar o valor de (5.8 ) e de (5.2). Manipulação de Cadeias de Caracteres Cadeias de caracteres são seqüências de caracteres que podem ser numéricos, alfabéticos ou de pontuação delimitados na linguagem Java por aspas. A referência em idioma inglês se faz com o termo string. Assim sendo, um string é uma seqüência de caracteres entre aspas. Um string em Java é considerado um objeto instanciado a partir da classe String pertencente ao pacote java.lang. A classe String possui um conjunto de métodos para manipulação e o tratamento do tipo de dados string. Em linguagem Java um string é um arranjo de caracteres dispostos seqüencialmente, sendo o primeiro caractere o de índice zero, o segundo índice um, o terceiro índice dois e assim por diante até o último caractere. Prof. Walcyr 10 Material de Aulas Java-2 Ex.: P 0 R 1 O 2 G 3 R 4 A 5 M A 6 7 Ç 8 Ã 9 O C O M J A V A 10 11 12 13 14 15 16 17 18 19 O primeiro caractere de seqüência apresentada está na posição zero, o segundo está na posição um, assim por adiante até o último caractere na posição dezenove. O string acima possui 20 caracteres. Apresenta caractere de um string – charAt(x) O método charAt() da classe String possibilita o caractere existente e indicado em uma determinada posição do string e definida por meio do parâmetro (x). O parâmetro (x) é um valor do tipo int, de 0 (zero) até a última posição válida de um string. O método charAt() retorna o caractere da posição indicada como sendo um dado do tipo char. Elabore um programa que demonstra o uso do método charAt() e apresente o caractere da 16ª posição no string acima. Concatenação de strings – concat(x) O método concat() da classe String possibilita apresentar duas ou mais seqüências de caracteres indicadas. O parâmetro x é um valor do tipo String. Concatenação é a junção de dois ou mais strings formando outro string. Prof. Walcyr 11 Material de Aulas Java-2 Refaça o programa Olá Mundo considerando como exemplos os strings “Olá”, e “Mundo!”, o programa seguinte demonstra o uso do método concat() para obtenção da mensagem “Olá, Mundo!”. Comparação de strings – equals(x) / equalsignoreCase() Os métodos equals() e equalsignoreCase() da classe String possibilitam efetuar a comparação entre strings, permitindo verificar se dois strings possuem o mesmo conteúdo. O parâmetro (x) é um valor do tipo String. Usa-se o método equals() quando se deseja verificar se ambos os strings são iguais, considerando-se a diferença entre caracteres maiúsculos e minúsculos. Caso queira comparar dois strings desconsiderando o fato de seus caracteres serem maiúsculos ou minúsculos deve-se usar o método equalsignoreCase(). Não confundir as comparações realizadas com os métodos equals() e equalsignoreCase() com o operador relacional de igualdade (==). Os métodos de comparação de strings possibilitam verificar o conteúdo de duas variáveis, enquanto o operador (= =) possibilita comparar se os conteúdos de uma determinada variável apontam para um objeto predefinido. Elabore um programa que use os métodos acima e faça comparação com os strings “PROGRAMAÇAO COM JAVA” e “programaçao com Java”. Prof. Walcyr 12 Material de Aulas Java-2 Tamanho de um string – length() O método length() da classe String possibilita apresentar o valor do tamanho de uma seqüência de carateres (um string). Elabore um programa que apresente o total de caracteres do string “Programaçao em Java”. Prof. Walcyr 13 Material de Aulas Java-2 Troca de caracteres em um string – replace(x,y) O método replace() da classe String possibilita fazer a troca de um determinado caractere de um string por outro caractere indicado. Os parâmetros (x e y) são valores do tipo String. O parâmetro (x) representa o caractere existente no string que será substituído pelo caractere indicado no parâmetro (y). Elabore um programa que substituía todos os caracteres “a” por caracteres “e” no string “Programacao com Java”. Prof. Walcyr 14 Material de Aulas Java-2 Desmembramento de string – substring(x,y) O método substring() da classe String possibilita desmembrar um string em determinados trechos. Os parâmetros (x e y) são valores do tipo int. O parâmetro (x) determina o inicio do trecho de um string e o parâmetro (y) determina o final do trecho a ser desmembrado. Considerando o string “Computador” elabore um programa que faça o desmembramento deste string em 3 segmentos identificados como Com, puta e dor. Prof. Walcyr 15 Material de Aulas Java-2 Minúsculas e Maiúsculas – toLowerCase() / toUpperCase() Os métodos toLowerCase() e to UpperCase() da classe String fazem a formatação de um string de forma que todo ele seja escrito em caracteres minúsculos se for usado o método toLowerCase(), ou maiúsculos se for usado o método toUpperCase(). Elabore um programa que utilize os métodos acima para o string “Programacao com Java”. Prof. Walcyr 16 Material de Aulas Java-2 Prof. Walcyr 17