Java - StrictMath 类



简介

Java StrictMath 类包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

类声明

以下是 java.lang.StrictMath 类的声明:

public final class StrictStrictMath
   extends Object

字段

以下是 java.lang.StrictMath 类的字段:

  • static double E - 这是最接近 e(自然对数的底数)的双精度值。

  • static double PI - 这是最接近 π(圆周率)的双精度值,圆周率是圆周长与其直径之比。

类方法

序号 方法及描述
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

示例

以下示例演示了 StrictMath 类提供的一些重要方法的使用。

package com.tutorialspoint;

public class StrictStrictMathDemo {

   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("StrictStrictMath.log(" + x + ")=" + StrictStrictMath.log(x));

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

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

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

   }
}	

输出

让我们编译并运行上述程序,这将产生以下结果:

StrictStrictMath.log(60984.1)=11.018368453441132
StrictStrictMath.log(-497.99)=NaN
StrictStrictMath.max(60984.1, y)=60984.1
StrictStrictMath.min(60984.1, y)=-497.99
广告