Java Math 类

2025年3月8日 | 阅读 9 分钟

Java Math 类是 Java 语言标准库的一个重要组成部分,它提供了广泛的数学函数。它提供了用于执行基本算术运算(如 min()、max()、random()、round() 等)的静态方法。此外,它还提供了用于更复杂运算的方法,例如计算对数和三角函数。

Java Math 类提供了多种方法来处理数学计算,例如 min()、max()、avg()、sin()、cos()、tan()、round()、ceil()、floor()、abs() 等。

与 StrictMath 类的某些数值方法不同,Math 类的等效函数的所有实现不能保证返回完全相同的位结果。这种灵活性允许在不要求严格可重现性的情况下实现具有更好性能的解决方案。

Java Math 方法示例

示例

编译并运行

输出

Absolute number is: 10
Minimum number is: 10
Maximum number is: 20
Square root of y is: 7.0
Power of x and z is: 10000.0
Random number is: 7

Java Math 类方法

Math 类的一个关键特性是它支持处理浮点数。这些方法可以处理涉及小数、分数以及非常大或非常小的数字的各种数学任务。例如,Math.round() 方法可以将浮点数四舍五入到最接近的整数,而 Math.random() 可以生成一个介于 0.0 和 1.0 之间的随机数。

Math 类还提供了用于处理角度和三角函数的方法。它包括计算正弦、余弦和正切及其反函数的函数。这些函数对于计算几何中的距离和角度,或在物理和工程学中模拟自然现象等任务非常有用。

基本数学方法

方法描述
Math.abs()它将返回给定值的绝对值。
Math.max()它返回两个值中较大的一个。
Math.min()它用于返回两个值中较小的一个。
Math.round()它用于将小数四舍五入到最接近的值。
Math.sqrt()它用于返回一个数的平方根。
Math.cbrt()它用于返回一个数的立方根。
Math.pow()它返回第一个参数的第二个参数次幂的值。
Math.signum()它用于查找给定值的符号。
Math.ceil()它用于查找大于或等于参数或数学整数的最小整数值。
Math.copySign()它用于查找具有第二个参数指定的符号的第一个参数的绝对值。
Math.nextAfter()它返回第一个参数在第二个参数方向上相邻的浮点数。
Math.nextUp()它返回 d 在正无穷方向上相邻的浮点值。
Math.nextDown()它返回 d 在负无穷方向上相邻的浮点值。
Math.floor()它用于查找小于或等于参数且等于 double 值的数学整数的最大整数值。
Math.floorDiv()它用于查找小于或等于代数商的最大整数值。
Math.random()它返回一个带正号的 double 值,大于或等于 0.0 且小于 1.0。
Math.rint()它返回最接近给定参数且等于数学整数的 double 值。
Math.hypot()它在没有中间溢出或下溢的情况下返回 sqrt(x^2 + y^2)。
Math.ulp()它返回参数的 ulp(单位长度)大小。
Math.getExponent()它用于返回表示值所使用的无偏指数。
Math.IEEEremainder()它用于根据 IEEE 754 标准计算两个参数的余数运算并返回值。
Math.addExact()它用于返回其参数的和,如果结果溢出 int 或 long,则抛出异常。
Math.subtractExact()它返回参数的差值,如果结果溢出 int,则抛出异常。
Math.multiplyExact()它用于返回参数的乘积,如果结果溢出 int 或 long,则抛出异常。
Math.incrementExact()它返回参数加一,如果结果溢出 int,则抛出异常。
Math.decrementExact()它用于返回参数减一,如果结果溢出 int 或 long,则抛出异常。
Math.negateExact()它用于返回参数的负值,如果结果溢出 int 或 long,则抛出异常。
Math.toIntExact()它返回 long 参数的值,如果值溢出 int,则抛出异常。

对数数学方法

方法描述
Math.log()它返回 double 值的自然对数。
Math.log10()它用于返回 double 值的以 10 为底的对数。
Math.log1p()它返回参数加 1 的自然对数。
Math.exp()它返回 E 的 double 次幂的值,其中 E 是欧拉数,约等于 2.71828。
Math.expm1()它用于计算 E 的幂并从中减一。

三角数学方法

方法描述
Math.sin()它用于返回给定 double 值的三角正弦值。
Math.cos()它用于返回给定 double 值的三角余弦值。
Math.tan()它用于返回给定 double 值的三角正切值。
Math.asin()它用于返回给定 double 值的三角反正弦值
Math.acos()它用于返回给定 double 值的三角反余弦值。
Math.atan()它用于返回给定 double 值的三角反正切值。

双曲数学方法

方法描述
Math.sinh()它用于返回给定 double 值的三角双曲余弦值。
Math.cosh()它用于返回给定 double 值的三角双曲正弦值。
Math.tanh()它用于返回给定 double 值的三角双曲正切值。

角度数学方法

方法描述
Math.toDegrees它用于将给定的弧度角转换为以度为单位的等效角度。
Math.toRadians它用于将给定的度数角转换为以弧度为单位的等效角度。

Java Math 示例 2

JavaMathExample1.java

输出

Maximum number of x and y is: 28.0
Square root of y is: 2.0
Power of x and y is: 614656.0
Logarithm of x is: 3.332204510175204
Logarithm of y is: 1.3862943611198906
log10 of x is: 1.4471580313422192
log10 of y is: 0.6020599913279624
log1p of x is: 3.367295829986474
exp of a is: 1.446257064291475E12
expm1 of a is: 1.446257064290475E12

Java Math 示例 3

JavaMathExample2.java

输出

Sine value of a is: -0.9880316240928618
Cosine value of a is: 0.15425144988758405
Tangent value of a is: -6.405331196646276
Sine value of a is: NaN
Cosine value of a is: NaN
Tangent value of a is: 1.5374753309166493
Sine value of a is: 5.343237290762231E12
Cosine value of a is: 5.343237290762231E12
Tangent value of a is: 1.0

Java Math 示例 4

文件名: MathDemo.java

输出

Addition: 32.0
Subtraction: 24.0
Multiplication: 112.0
Division: 7.0
Square root of 28.0: 5.291502622129181
Cube root of 28.0: 3.0365889718756627
Power of 28.0 to 4.0: 614656.0
Sine of 45.0 degrees: 0.7071067811865475
Cosine of 45.0 degrees: 0.7071067811865476
Tangent of 45.0 degrees: 0.9999999999999999
Absolute value of -123.456: 123.456
Ceil value of -123.456: -123.0
Floor value of -123.456: -124.0
Round value of -123.456: -123
Random number between 0.0 and 1.0: 0.40493356810101455
Random number between 0 and 100: 61
Maximum value: 30.9
Minimum value: 5.2
e^28.0: 1.446257064291475E12
Logarithm base 10 of 28.0: 1.4471580313422192
Logarithm base e of 28.0: 3.332204510175204
Hypotenuse of a right triangle with sides 3.0 and 4.0: 5.0
Arcsine of 0.5: 30.000000000000004
Arccosine of 0.5: 60.00000000000001
Arctangent of 0.5: 26.56505117707799
Value of PI: 3.141592653589793
Value of E: 2.718281828459045

此外,Math 类还提供了用于计算指数和对数函数的函数。例如,Math.exp() 可以计算 e 的幂的值,而 Math.log() 可以计算数字的自然对数。这些函数对于许多数学和科学计算至关重要。

总而言之,Java 中的 **Math** 类提供了一套全面的数学函数,对于许多编程任务至关重要。无论您是需要执行基本算术、处理三角函数还是计算指数函数,Math 类都能满足您的需求。其广泛的方法使其成为处理各种数学问题的开发人员的强大工具。