Java Math pow()函数示例
Java.lang.Math.pow()是一种内置方法,用于通过将一个双精度值乘以另一个双精度值来获取输入来计算指数结果。在考虑程序中的任何代数表达式时,此方法可以派上用场。此方法适用于所有求幂规则。
Java数学pow()
Math.pow()用于计算提高到其他数字幂的数字。 Math.pow()函数接受两个参数,并将第一个参数的值返回到第二个参数。
句法
public static double pow(double x, double y)
参数
双精度值x是基数,双精度值y是指数。
返回值
x的两倍值乘以y的幂。
注意
- 如果传递的指数值为正零或负零,则该方法返回1.0
- 如果传递的指数值为1.0,则该方法返回的值与传递的基值相同。
- 如果传递的指数值为NaN,则该方法返回NaN。
- 如果传递的基值为NaN且传递的指数值为非零,则该方法返回NaN。如果指数值为零,则该方法返回1.0
- 如果基数的绝对值大于1.0且指数为正无穷大,或者基数的绝对值小于1.0且指数为负无穷大,则此方法返回正无穷大。
- 如果基数的绝对值大于1.0且指数为负无穷大,或者基数的绝对值小于1.0且指数为正无穷大,则此方法返回正零。
- 如果基数的绝对值为1.0,并且指数为无限,则该方法返回NaN。
- 如果基值为正,零且指数为正,或者基值为正无穷大且指数为负,则该方法返回正零。
- 如果基值为正,零且指数为负,或者如果基值为正无穷大且指数为正,则该方法返回正无穷大。
- 如果基值为负,零且指数值为正但不是有限的奇数整数,或者如果基值为负无穷大且指数值为负但不是有限的奇数整数,则该方法返回正零。
- 如果基值是负零,并且指数值是正有限奇整数,或者基值是负无穷大,并且指数值是负有限奇整数,则该方法返回负零。
- 如果基值是负零,并且指数值是负但不是有限的奇数整数,或者如果基值是负无穷大并且指数值是正但不是有限的奇数整数,则该方法返回正无穷大。
- 如果基值为负零且指数值为负有限奇数整数,或者基值为负负无穷整数且指数值为正有限奇数整数,则该方法将返回负无穷大。
请考虑以下示例:
Example1.java:下面的示例演示此方法的用法。
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
Example2.java:下面的示例演示传递的指数值为正零或负零时的情况。
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
Example4.java:下面的示例演示将指数值作为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
Example6.java:下面的示例演示了这种情况。
如果基数的绝对值大于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
Example7.java:下面的示例演示了这种情况。
如果基数的绝对值大于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
Example8.java:以下示例演示了以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
Example9.java:下面的示例演示了这种情况。
如果基值为正,零且指数为正,或者基值为正无穷大且指数为负,则该方法返回正零。
请参阅以下代码。
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
Example10.java:下面的示例演示了这种情况。
如果基值为正,零且指数为负,或者如果基值为正无穷大且指数为正,则该方法返回正无穷大。
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
Example11.java:下面的示例演示了这种情况。
如果基值为负,零且指数值为正但不是有限的奇数整数,或者如果基值为负无穷大且指数值为负但不是有限的奇数整数,则该方法返回正零。
请参阅以下代码。
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
Example12.java:以下示例演示了这种情况。
如果基值是负零,并且指数值是正有限奇整数,或者基值是负无穷大,并且指数值是负有限奇整数,则该方法返回负零。
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
Example13.java:下面的示例演示了这种情况。
如果基值是负零,并且指数值是负但不是有限的奇数整数,或者如果基值是负无穷大并且指数值是正但不是有限的奇数整数,则该方法返回正无穷大。
请参阅以下代码。
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
Example14.java:下面的示例演示了这种情况。
如果基值为负零且指数值为负有限奇数整数,或者基值为负负无穷整数且指数值为正有限奇数整数,则该方法将返回负无穷大。
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数学ceil()
Java Math round()
Java数学min()
Java数学max()
Java Math floor()