Java 教程

Java 控制語句

面向物件程式設計

Java 內建類

Java 檔案處理

Java 錯誤與異常

Java 多執行緒

Java 同步

Java 網路

Java 集合

Java 介面

Java 資料結構

Java 集合演算法

高階 Java

Java 雜項

Java API 與框架

Java 類參考

Java 有用資源

Java - Math 類



Java Math 類

java.lang.Math 類包含用於執行基本數值運算的方法,例如基本指數、對數、平方根和三角函式。

Math 類宣告

以下是 java.lang.Math 類的宣告:

public final class Math
   extends Object

Java Math 類欄位

以下是 java.lang.Math 類的欄位:

  • static double E - 這是最接近 e(自然對數的底數)的雙精度值。

  • static double PI - 這是最接近 π(圓周率)的雙精度值,即圓周長與其直徑之比。

Java Math 類方法

序號 方法及描述
1 static double abs(double a)

此方法返回雙精度值的絕對值。

2 static float abs(float a)

此方法返回浮點值的絕對值。

3 static int abs(int a)

此方法返回整數值的絕對值。

4 static long abs(long a)

此方法返回長整數值的絕對值。

5 static double acos(double a)

此方法返回值的反正弦;返回的角度範圍為 0.0 到 π。

6 static double asin(double a)

此方法返回值的反正弦;返回的角度範圍為 -π/2 到 π/2。

7 static double atan(double a)

此方法返回值的反正切;返回的角度範圍為 -π/2 到 π/2。

8 static double atan2(double y, double x)

此方法返回將直角座標 (x, y) 轉換為極座標 (r, θ) 時得到的角度 θ。

9 static double cbrt(double a)

此方法返回雙精度值的立方根。

10 static double ceil(double a)

此方法返回大於或等於引數且等於數學整數的最小(最接近負無窮大)雙精度值。

11 static double copySign(double magnitude, double sign)

此方法返回第一個浮點引數,並帶有第二個浮點引數的符號。

12 static float copySign(float magnitude, float sign)

此方法返回第一個浮點引數,並帶有第二個浮點引數的符號。

13 static double cos(double a)

此方法返回角度的三角餘弦。

14 static double cosh(double x)

此方法返回雙精度值的雙曲餘弦。

15 static double exp(double a)

此方法返回尤拉數 e 的雙精度值次冪。

16 static double expm1(double x)

此方法返回 ex -1。

17 static double floor(double a)

此方法返回小於或等於引數且等於數學整數的最大(最接近正無窮大)雙精度值。

18 static int getExponent(double d)

此方法返回用於表示雙精度值的無偏指數。

19 static int getExponent(float f)

此方法返回用於表示浮點值的無偏指數。

20 static double hypot(double x, double y)

此方法返回 sqrt(x2 +y2),不會發生中間溢位或下溢。

21 static double IEEEremainder(double f1, double f2)

此方法根據 IEEE 754 標準計算兩個引數的餘數運算。

22 static double log(double a)

此方法返回雙精度值的自然對數(以 e 為底)。

23 static double log10(double a)

此方法返回雙精度值的以 10 為底的對數。

24 static double log1p(double x)

此方法返回引數與 1 的和的自然對數。

25 static double max(double a, double b)

此方法返回兩個雙精度值中較大的一個。

26 static float max(float a, float b)

此方法返回兩個浮點數中較大的一個。

27 static int max(int a, int b)

此方法返回兩個整數中較大的一個。

28 static long max(long a, long b)

此方法返回兩個長整數中較大的一個。

29 static double min(double a, double b)

此方法返回兩個雙精度浮點數中較小的一個。

30 static float min(float a, float b)

此方法返回兩個浮點數中較小的一個。

31 static int min(int a, int b)

此方法返回兩個整數中較小的一個。

32 static long min(long a, long b)

此方法返回兩個長整數中較小的一個。

33 static double nextAfter(double start, double direction)

此方法返回第一個引數在第二個引數方向上的相鄰浮點數。

34 static float nextAfter(float start, double direction)

此方法返回第一個引數在第二個引數方向上的相鄰浮點數。

35 static double nextUp(double d)

此方法返回在正無窮大方向上與d相鄰的浮點數。

36 static float nextUp(float f)

此方法返回在正無窮大方向上與f相鄰的浮點數。

37 static double pow(double a, double b)

此方法返回第一個引數的第二個引數次冪的值。

38 static double random()

此方法返回一個雙精度浮點數,其值為正數,大於或等於 0.0 且小於 1.0。

39 static double rint(double a)

此方法返回最接近引數且等於數學整數的雙精度浮點數。

40 static long round(double a)

此方法返回最接近引數的長整數。

41 static int round(float a)

此方法返回最接近引數的整數。

42 static double scalb(double d, int scaleFactor)

此方法返回 d × 2scaleFactor,其舍入方式如同由單個正確舍入的浮點乘法運算到雙精度浮點數集合中的一個成員。

43 static float scalb(float f, int scaleFactor)

此方法返回 f × 2scaleFactor,其舍入方式如同由單個正確舍入的浮點乘法運算到單精度浮點數集合中的一個成員。

44 static double signum(double d)

此方法返回引數的符號函式;如果引數為零,則返回零;如果引數大於零,則返回 1.0;如果引數小於零,則返回 -1.0。

45 static float signum(float f)

此方法返回引數的符號函式;如果引數為零,則返回零;如果引數大於零,則返回 1.0f;如果引數小於零,則返回 -1.0f。

46 static double sin(double a)

此方法返回雙精度浮點數的雙曲正弦值。

47 static double sinh(double x)

此方法返回雙精度浮點數的雙曲正弦值。

48 static double sqrt(double a)

此方法返回雙精度浮點數的正確舍入的正平方根。

49 static double tan(double a)

此方法返回角度的三角正切值。

50 static double tanh(double x)

此方法返回雙精度浮點數的雙曲正切值。

51 static double toDegrees(double angrad)

此方法將以弧度為單位測量的角度轉換為近似等價的以度為單位測量的角度。

52 static double toRadians(double angdeg)

此方法將以度為單位測量的角度轉換為近似等價的以弧度為單位測量的角度。

53 static double ulp(double d)

此方法返回引數的 ulp 的大小。

54 static double ulp(float f)

此方法返回引數的 ulp 的大小。

繼承的方法

此類繼承自以下類的方法:

  • java.lang.Object

Java Math 類示例

以下示例演示了 Math 類提供的一些重要方法的用法。

package com.tutorialspoint;

public class MathDemo {

   public static void main(String[] args) {

      // get two double numbers
      double x = 60984.1;
      double y = -497.99;

      // get the natural logarithm for x
      System.out.println("Math.log(" + x + ")=" + Math.log(x));

      // get the natural logarithm for y
      System.out.println("Math.log(" + y + ")=" + Math.log(y));

      // get the max value
      System.out.println("Math.max(" + x + ", y" + ")=" + Math.max(x,y));

      // get the min value
      System.out.println("Math.min(" + x + ", y" + ")=" + Math.min(x,y));

   }
}	

輸出

讓我們編譯並執行以上程式,這將產生以下結果:

Math.log(60984.1)=11.018368453441132
Math.log(-497.99)=NaN
Math.max(60984.1, y)=60984.1
Math.min(60984.1, y)=-497.99
廣告