Java 语言配备了用于数学函数和运算的综合库。它称为“Math”类,位于java.lang包中。数学库包括基本数值运算、三角函数、求最小-最大值、生成随机数和对数运算的方法。在今天的教程中,我们将重点介绍Math.pow()方法,该方法用于使用底数和指数计算数字的幂。让我们开始吧。表达式“a 的 n 次方”在数学上可以写为n. 我们可以定义表达式中的术语如下。a - 基数 n - 指数 让我们考虑指数。我们可以将其识别为重复乘法运算的次数。基数是乘以自身的数字。现在让我们创建一个简单的 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.0。这是因为任何数字的零次方都被定义为一。
- 如果指数参数是一个,输出将是基本参数。这是因为如果你对任何数求 1 次方,结果与基数相同。
- 如果基数为负/正零且指数参数为负数,则结果为 Infinity。(由于零和最小可表示负非零数之间的数字四舍五入,可能会出现负零)。
- 如果指数参数为 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()用于您的应用程序。
GO TO FULL VERSION