Math.pow() 用于计算一个数字上升到另一个数字的幂。pow()方法在考虑到程序中的任何代数表达式时非常有用。此外,该方法还能适应所有的指数化规则。
Java Math.pow
Java Math.pow() 是一个内置的方法,用于计算一个指数结果,其输入方式是将一个双倍的数值提升到另一个数值。Math.pow()函数接受两个参数,并返回第一个参数升至第二个参数的值。
语法
public static double pow(double x, double y)
参数(s)
双重值 x 是基数,双重值 y 是指数。
返回值
双重值是 x 到 y 的幂。
注意
- 如果传递的指数值是正零或负零,那么该方法返回1.0。
- 如果传递的指数值是1.0,那么该方法返回与给定基值相同的值。
- 如果传递的指数值是NaN,那么该方法返回NaN。
- 如果传递的基数值是NaN,而给定的指数值非零,则该方法返回NaN。如果指数值为零,那么该方法返回1.0
- 如果基数的绝对值大于1.0且指数为正无穷大,或者基数的绝对值小于1.0且指数为负无穷大,该方法返回 正无穷大。
- 如果基数的绝对值大于1.0且指数为负无穷大,或者基数的绝对值小于1.0且指数为正无穷大, 此方法返回正0。
- 如果基数的绝对值是1.0,而指数是无限的,那么该方法返回NaN。
- 如果基数是正的,零,而指数是正的,或者基数是正无穷大,而指数是负的,那么 该方法返回正零。
- 如果基值是正的,零,而指数是负的,或者基值是正无穷大,而指数是正的, 该方法返回正无穷大。
- 如果基值是负的,零,而指数值是正的,但不是有限奇数整数,或者如果基值是负的无穷大,而指数值是负的,但不是有限奇数整数, 那么该方法返回正零。
- 如果基值为负零,而指数值为正的有限奇数整数,或者基值为负无穷大,而指数值为负的有限奇数整数,该方法返回 负零。
- 如果基值是负零,而指数值是负的,但不是有限奇数整数,或者基值是负无穷大,而指数值是正的,但不是有限奇数整数, 那么该方法返回正无穷大。
- 如果基值是负的零,而指数值是负的有限奇数整数,或者基值是负的无穷大,而指数值是正的有限奇数整数,则 该方法返回负无穷大。
请看下面的例子。
演示了Java Math.pow()方法的使用。
import java.util.*;
public class Example1 {
public static void main(String[] args) {
double x = 2.0;
double y = 4.0;
System.out.println(Math.pow(x, y));
}
}
输出
->javac Example1.java
->java Example1
16.0
传递指数值为正或负零
import java.util.*;
public class Example2 {
public static void main(String[] args) {
double x = 2.0;
double y = 0.0;
double z = -0.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(x, z));
}
}
输出
->javac Example2.java
->java Example2
1.0
1.0
Example3.java。下面的例子演示了传递指数值为1.0的情况
import java.util.*;
public class Example3 {
public static void main(String[] args) {
double x = 2.0;
double y = 1.0;
System.out.println(Math.pow(x, y));
}
}
输出
->javac Example3.java
->java Example3
2.0
传递指数值为NaN。
import java.util.*;
public class Example4 {
public static void main(String[] args) {
double x = 2.0;
double y = Double.NaN;
System.out.println(Math.pow(x, y));
}
}
输出
->javac Example4.java
->java Example4
NaN
Example5.java。下面的例子演示了将基值传递为NaN的情况。
import java.util.*;
public class Example5 {
public static void main(String[] args) {
double x = Double.NaN;
double y = 0.0;
double z = 2.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(x, z));
}
}
輸出
->javac Example5.java
->java Example5
1.0
NaN
如果基数的绝对值大于1.0且指数为正无穷大,或者基数的绝对值小于1.0且指数为负无穷大,该方法返回 正无穷大。
请看下面的代码。
import java.util.*;
public class Example6 {
public static void main(String[] args) {
double x = 2.0;
double y = Double.POSITIVE_INFINITY;
double a = 0.3;
double b = Double.NEGATIVE_INFINITY;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example6.java
->java Example6
Infinity
Infinity
下面的例子演示了这种情况。
如果基数的绝对值大于1.0且指数为负无穷大,或者基数的绝对值小于1.0且指数为正无穷大,此方法返回 正零。
请看下面的代码。
import java.util.*;
public class Example7 {
public static void main(String[] args) {
double x = 2.0;
double y = Double.NEGATIVE_INFINITY;
double a = 0.3;
double b = Double.POSITIVE_INFINITY;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example7.java
->java Example7
0.0
0.0
传递基数的绝对值为1.0,指数为无限大
请看下面的代码。
import java.util.*;
public class Example8 {
public static void main(String[] args) {
double x = 1.0;
double y = Double.POSITIVE_INFINITY;
double a = 1.0;
double b = Double.NEGATIVE_INFINITY;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
System.out.println(Math.pow(-x, y));
System.out.println(Math.pow(-a, b));
}
}
输出
->javac Example8.java
->java Example8
NaN
NaN
NaN
NaN
下面的例子演示了这种情况。
如果基数是正的,是零,而指数是正的,或者基数是正的无限大,而指数是负的,该方法返回 正的零。
请看下面的代码。
import java.util.*;
public class Example9 {
public static void main(String[] args) {
double x = 0.0;
double y = 2.0;
double a = Double.POSITIVE_INFINITY;
double b = -2.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example9.java
->java Example9
0.0
0.0
下面的例子演示了这种情况。
如果基值是正的,零,而指数是负的,或者如果基值是正无穷大,而指数是正的 ,该方法返回正无穷大。
import java.util.*;
public class Example10 {
public static void main(String[] args) {
double x = 0.0;
double y = -2.0;
double a = Double.POSITIVE_INFINITY;
double b = 2.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example10.java
->java Example10
Infinity
Infinity
下面的例子演示了这种情况。
如果基值为负数,为零,而指数值为正数,但不是有限奇数,或者基值为负无穷大,而指数值为负数,但不是有限奇数, 那么该方法返回正零。
请看下面的代码。
import java.util.*;
public class Example11 {
public static void main(String[] args) {
double x = -0.0;
double y = 2.0;
double a = Double.NEGATIVE_INFINITY;
double b = -2.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example11.java
->java Example11
0.0
0.0
下面的例子演示了这种情况。
如果基值为负零,而指数值为正的有限奇数,或者基值为负无穷大,而指数值为负的有限奇数,则 该方法返回负零。
import java.util.*;
public class Example12 {
public static void main(String[] args) {
double x = -0.0;
double y = 3.0;
double a = Double.NEGATIVE_INFINITY;
double b = -3.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example12.java
->java Example12
-0.0
-0.0
下面的例子演示了这种情况。
如果基值是负零,指数值是负数但不是有限奇数,或者基值是负无穷大,指数值是正数但不是有限奇数, 那么该方法返回正无穷大。
请看下面的代码。
import java.util.*;
public class Example13 {
public static void main(String[] args) {
double x = -0.0;
double y = -2.0;
double a = Double.NEGATIVE_INFINITY;
double b = 2.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example13.java
->java Example13
Infinity
Infinity
下面的例子演示了这种情况。
如果基值为负零,而指数值为负的有限奇数,或者基值为负无穷大,而指数值为正的有限奇数,则 该方法返回负无穷大。
import java.util.*;
public class Example14 {
public static void main(String[] args) {
double x = -0.0;
double y = -3.0;
double a = Double.NEGATIVE_INFINITY;
double b = 3.0;
System.out.println(Math.pow(x, y));
System.out.println(Math.pow(a, b));
}
}
输出
->javac Example14.java
->java Example14
-Infinity
-Infinity
Java Math.pow函数教程到此结束。
另请参见
The postJava Math.pow Function:完整指南出现在AppDividend上。