Introdução
O método pow() é usado para encontrar o valor de um número elevado à potência de outro número. Ele faz parte da classe Math em Java e retorna um valor double. É importante notar que a conversão explícita (explicit casting) é necessária se quisermos converter a saída para outro tipo. Neste laboratório, aprenderemos como usar o método pow() com vários exemplos.
Configuração
Crie um novo arquivo chamado PowDemo.java no diretório ~/project e abra-o em um editor de texto.
Adicione o código abaixo ao arquivo e salve-o.
import java.lang.Math;
public class PowDemo {
public static void main(String[] args) {
}
}
Para executar o código, abra um terminal, use cd para navegar até o diretório ~/project e insira os seguintes comandos:
javac PowDemo.java
java PowDemo
Usando o método pow()
Para usar o método pow(), chame a função Math.pow() e passe os valores da base e da potência como argumentos. A assinatura geral do método é mostrada abaixo.
public static double pow(double base, double power)
Adicione o seguinte código à função main após a instrução import.
double d1 = Math.pow(3, 5);
double d2 = Math.pow(3.5, 1.5);
int i = (int) Math.pow(3.5, 1.5); // require casting for int type
System.out.println("3 raised to the power 5: " + d1);
System.out.println("3.5 raised to the power 1.5: " + d2);
System.out.print("3.5 raised to the power 1.5(for int type): " + i);
Este bloco de código calcula o resultado de 3 elevado à potência de 5, 3.5 elevado à potência de 1.5, e 3.5 elevado à potência de 1.5 para um valor inteiro, e imprime os valores no console.
Encontrando Raízes Quadradas e Raízes Cúbicas
O método pow() também pode ser usado para encontrar as raízes quadradas ou raízes cúbicas de números. Nesta etapa, usaremos o método pow() para encontrar a raiz quadrada de 16 e a raiz cúbica de 27.
Adicione o seguinte código à função main após o código que você escreveu na Etapa 2.
double squareRoot = Math.pow(16, 0.5);
double cubeRoot = Math.pow(27, (1.0 / 3));
System.out.println("Square root of 16 is: " + squareRoot);
System.out.print("Cube root of 27 is: " + cubeRoot);
Este bloco de código calcula a raiz quadrada de 16 e a raiz cúbica de 27 usando o método pow() e imprime os resultados no console.
Lidando com Casos Especiais
O método pow() tem alguns casos especiais que vale a pena mencionar. Nesta etapa, testaremos alguns desses casos especiais.
Adicione o seguinte código à função main após o código que você escreveu na Etapa 3.
System.out.println("When Second parameter is zero:");
System.out.println(Math.pow(5.0, 0.0));
System.out.println(Math.pow(5.0, -0.0));
System.out.println("When Second parameter is one:");
System.out.println(Math.pow(5.0, 1));
System.out.println("When Second parameter is NaN:");
System.out.println(Math.pow(5.0, Double.NaN));
System.out.println("When first parameter is NaN and second parameter is non-zero:");
System.out.println(Math.pow(Double.NaN, 14));
System.out.println("When first parameter is NaN and second parameter is zero:");
System.out.println(Math.pow(Double.NaN, 0));
Este bloco de código testa os seguintes casos especiais:
- Quando o segundo parâmetro é zero, e retorna 1.0
- Quando o segundo parâmetro é um, e retorna o primeiro parâmetro
- Quando o segundo parâmetro é NaN, e retorna NaN
- Quando o primeiro parâmetro é NaN e o segundo parâmetro é diferente de zero, e retorna NaN
- Quando o primeiro parâmetro é NaN, mas o segundo parâmetro é zero, e retorna 1
Testando Conceitos Matemáticos Avançados
Nesta etapa, testaremos alguns conceitos matemáticos avançados usando o método pow().
Adicione o seguinte código à função main após o código que você escreveu na Etapa 4.
System.out.print("Square root of -1: " + Math.pow(-1, 0.5));
System.out.println("Positive Value raised to Infinity: " + Math.pow(5, Double.POSITIVE_INFINITY));
System.out.print("Positive Value raised to Negative Infinity: " + Math.pow(5, Double.NEGATIVE_INFINITY));
Este bloco de código testa os seguintes casos:
- Quando a raiz quadrada de -1 é calculada, e retorna NaN.
- Quando um valor positivo é elevado ao infinito, e retorna infinito positivo.
- Quando um valor positivo é elevado ao infinito negativo, e retorna 0.
Salve e Execute o Código
Salve as alterações que você fez em PowDemo.java. Abra um terminal, use cd para navegar até o diretório ~/project e insira os seguintes comandos para executar o código:
javac PowDemo.java
java PowDemo
Isso irá compilar e executar o PowDemo.java. A saída do programa deve ser a seguinte:
3 raised to the power 5: 243.0
3.5 raised to the power 1.5: 6.547900426854397
3.5 raised to the power 1.5(for int type): 6
Square root of 16 is: 4.0
Cube root of 27 is: 3.0
When Second parameter is zero:
1.0
1.0
When Second parameter is one:
5.0
When Second parameter is NaN:
NaN
When first parameter is NaN and second parameter is non-zero:
NaN
When first parameter is NaN and second parameter is zero:
1.0
Square root of -1: NaN
Positive Value raised to Infinity: Infinity
Positive Value raised to Negative Infinity: 0.0
Resumo
Neste laboratório, aprendemos como usar o método pow() da classe java.lang.Math em Java. Também analisamos alguns casos especiais que podem ocorrer ao usar este método. O método pow() é importante em algoritmos de computação, especialmente ao calcular conceitos matemáticos avançados.



