CodeGym /Java 博客 /随机的 /在 Java 中使用 Math.pow() 方法
John Squirrels
第 41 级
San Francisco

在 Java 中使用 Math.pow() 方法

已在 随机的 群组中发布
Java 语言配备了用于数学函数和运算的综合库。它称为“Math”类,位于java.lang包中。数学库包括基本数值运算、三角函数、求最小-最大值、生成随机数和对数运算的方法。在今天的教程中,我们将重点介绍Math.pow()方法,该方法用于使用底数和指数计算数字的幂。让我们开始吧。表达式“a 的 n 次方”在数学上可以写为n. 我们可以定义表达式中的术语如下。a - 基数 n - 指数 让我们考虑指数。我们可以将其识别为重复乘法运算的次数。基数是乘以自身的数字。在 Java 中使用 Math.pow() 方法 - 1现在让我们创建一个简单的 Java 方法来计算一个数的幂。请注意,在下面的示例中,我们将两个参数传递给powerFunction()方法,分别是基数和指数。

public class Main {
 
   public static void main(String[] args) {
       int result = powerFunction(2, 5);
       System.out.println("2 raised to the power of 5 = " + result);
   }
 
   static int powerFunction(int base, int exponent) {
       int result = 1;
       for (int i = 0; i < exponent; i++) {
           result = base * result;
       }
       return result;
   }
}
如果我们运行上面的示例代码,它会返回 32。你可能会想为什么我们不能简单地写 base^exponent。我们不能那样做,因为 Java 没有我们可以在一行代码中使用的求幂运算符。考虑到上面的代码,很明显我们不得不花很多时间来编写这个方法。此外,如果我们要计算高次幂,由于我们使用 for 循环,该方法将花费大量时间来完成这些计算。除此之外,循环将阻止我们使用分数指数执行幂计算。而且这种方法没有很好的计算复杂度,因为有更多的优化空间不是很有利。考虑到程序员使用求幂和其他数学运算的频率,回到过去,Java 的开发人员创建了一个名为“Math”的库,专门用于促进数学运算。因此,我们可以利用 Java Lang 包中包含的这个库,而不是从头开始编写幂函数。

什么是 Math.pow 方法,我们如何使用它?

Math.pow可以在 java.lang 包中找到,作为 Math 库的一个方法。它用于计算数字的幂,包括整数和双精度数。让我们考虑一下它的语法。

public static double pow(double base, double exponent)
正如我们在语法中看到的,java.lang.Math.pow()方法有两个参数。第一个是基数,第二个是指数。这将返回基数指数作为其输出。让我们看看如何调用它。

在 Java 中使用 Math.pow 计算一个数的幂

让我们使用Math.pow计算 5 4的值。

import java.lang.Math;
public class MyClass{
    public static void main(String []args){
       double answer = Math.pow(5, 4);
// java.lang.Math.pow() method
 
       System.out.println("5 raised to the power of 4 = " + answer);
    }    
}
输出为 625.0。如您所见,这是一个双重价值。如果您对小数点感到困扰,我们可以通过将数字转换为整数来轻松摆脱它,如下所示。请注意,我们正在更改 main 方法中的第一行。

 int answer = (int) Math.pow(5, 4);
现在结果是 625。让我们对底数和指数都使用小数并尝试得到答案。让我们看看 1.25 4.5的值是多少。

import java.lang.Math;
 
public class MyClass {
 
   public static void main(String[] args) {
       double answer = Math.pow(1.25, 4.5);
// java.lang.Math.pow() method
 
       System.out.println("1.25 raised to the power of 4.5 = " + answer);
   }
}
这将输出 2.729575167846423。如果您使用计算器,您会发现它返回相同的答案。在进入下一节之前,让我们再看一个例子。我们将提高一个数字的负次方并比较结果。对于这个例子,我们将选择 4 作为底数,-2 作为指数。

import java.lang.Math;
 
public class MyClass{
 
     public static void main(String []args){
        double answer = Math.pow(4, -2);
// java.lang.Math.pow() method
 
        System.out.println(answer);
     }    
}
我们得到输出 0.0625。

快速示例:如何舍入您的答案

比如说,我们需要找到 1.25 4.5的值。答案是 2.729575167846423。很多时候需要对结果进行四舍五入。让我们尝试得到精确到小数点后第四位的答案。怎么做?如果我们只需要前 4 位小数怎么办?为此,我们可以使用java.lang.Math.round方法。然而,由于Math.round将值四舍五入为最接近的整数,我们必须将它乘以小数位数,然后再次四舍五入并除以。

import java.lang.Math;
 
public class MyClass{
 
     public static void main(String []args){
        double answer = Math.pow(1.25, 4.5);
        answer = Math.round(answer*100.0)/100.0;
        
        System.out.println(answer);
     }
     
}
输出为 2.73。

如何正确使用 Math.pow

当我们使用java.lang.Math.pow方法时,有几件事要记住。
  1. 如果指数参数为零,则输出将为 1.0。这是因为任何数字的零次方都被定义为一。
  2. 如果指数参数是一个,输出将是基本参数。这是因为如果你对任何数求 1 次方,结果与基数相同。
  3. 如果基数为负/正零且指数参数为负数,则结果为 Infinity。(由于零和最小可表示负非零数之间的数字四舍五入,可能会出现负零)。
  4. 如果指数参数为 NaN,则输出也将为 NaN。
让我们考虑一个可能发生第三种情况的例子。

import java.lang.Math;
 
public class MyClass{
 
     public static void main(String []args){         
        double base = 5;
        double exponent = Double.NaN;
 
        double answer = Math.pow(base, exponent);
 
        System.out.println(answer);
     }     
}
这将输出 NaN。因此,如果您的代码结果为 NaN,检查指数参数是否为 NaN 是明智的。如果您想知道 NaN 是什么,它的意思是“不是数字”,表示该值尚未定义。我们相信您现在已经准备好继续将lang.Math.pow()用于您的应用程序。

结论

java.lang.Math.pow ()方法是轻松计算各种数字(包括整数和小数值)的幂的好方法。与您可能自己编写的方法不同,它经过高度优化,非常适合一系列时间紧迫的应用程序。虽然它确实将所有结果输出为双精度值,但我们始终可以像示例中那样将值转换为整数。此外,为方便起见,java.lang.Math库提供了将结果四舍五入到首选小数位数的方法。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION