Java Math.pow函数。完整指南

1,035 阅读6分钟

Java Math.pow Function Example

Math.pow() 用于计算一个数字上升到另一个数字的幂。pow()方法在考虑到程序中的任何代数表达式时非常有用。此外,该方法还能适应所有的指数化规则。

Java Math.pow

Java Math.pow() 是一个内置的方法,用于计算一个指数结果,其输入方式是将一个双倍的数值提升到另一个数值。Math.pow()函数接受两个参数,并返回第一个参数升至第二个参数的值。

语法

public static double pow(double x, double y)

参数(s)

双重值 x 是基数,双重值 y 是指数。

返回值

双重值是 x 到 y 的幂。

Java Math pow()

注意

  1. 如果传递的指数值是正零或负零,那么该方法返回1.0。
  2. 如果传递的指数值是1.0,那么该方法返回与给定基值相同的值。
  3. 如果传递的指数值是NaN,那么该方法返回NaN。
  4. 如果传递的基数值是NaN,而给定的指数值非零,则该方法返回NaN。如果指数值为零,那么该方法返回1.0
  5. 如果基数的绝对值大于1.0且指数为正无穷大,或者基数的绝对值小于1.0且指数为负无穷大,该方法返回 正无穷大
  6. 如果基数的绝对值大于1.0且指数为负无穷大,或者基数的绝对值小于1.0且指数为正无穷大, 此方法返回正0
  7. 如果基数的绝对值是1.0,而指数是无限的,那么该方法返回NaN。
  8. 如果基数是正的,零,而指数是正的,或者基数是正无穷大,而指数是负的,那么 该方法返回正零
  9. 如果基值是正的,零,而指数是负的,或者基值是正无穷大,而指数是正的, 该方法返回正无穷大
  10. 如果基值是负的,零,而指数值是正的,但不是有限奇数整数,或者如果基值是负的无穷大,而指数值是负的,但不是有限奇数整数, 那么该方法返回正零
  11. 如果基值为负零,而指数值为正的有限奇数整数,或者基值为负无穷大,而指数值为负的有限奇数整数,该方法返回 负零
  12. 如果基值是负零,而指数值是负的,但不是有限奇数整数,或者基值是负无穷大,而指数值是正的,但不是有限奇数整数, 那么该方法返回正无穷大
  13. 如果基值是负的零,而指数值是负的有限奇数整数,或者基值是负的无穷大,而指数值是正的有限奇数整数,则 该方法返回负无穷大。

请看下面的例子。

演示了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函数教程到此结束。

另请参见

Java Math.ceil

Java Math.round

Java Math.min

Java Math.max

Java Math.floor

The postJava Math.pow Function:完整指南出现在AppDividend上。