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
广告