Método Math.pow em Java

JavaBeginner
Pratique Agora

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.