Java的Math类提供静态数学方法,涵盖绝对值、最值、幂运算、开方、取整、三角函数、随机数及PI/E常量,所有方法无需实例化且不可重写。

Java中的Math类提供了大量静态方法,用于执行常见的数学运算,无需创建实例,直接通过Math.方法名()调用即可。它封装了基本的三角函数、对数、指数、取整、随机数等操作,所有方法都是static且final,适用于绝大多数基础计算场景。
常用数值计算方法
Math类覆盖了日常开发中最常遇到的数值处理需求:
-
Math.abs(x):返回绝对值,支持int、long、float、double -
Math.max(a, b)和Math.min(a, b):返回两数中较大或较小值,类型需一致 -
Math.pow(base, exponent):计算幂(如Math.pow(2, 3)得8.0) -
Math.sqrt(x):求平方根,负数返回NaN -
Math.cbrt(x):求立方根,支持负数(如Math.cbrt(-8)得-2.0)
取整与舍入控制
Java提供多种取整方式,行为差异明显,需按需选用:
-
Math.round(x):四舍五入到最接近的整数(long或int),注意是“+0.5后向下取整”逻辑 -
Math.floor(x):向下取整(≤x的最大整数),结果为double -
Math.ceil(x):向上取整(≥x的最小整数) -
Math.trunc(x)不存在——可用(long)x或Math.floor(x)配合正负判断模拟截断
例如:Math.round(2.5)得3,Math.round(-2.5)得-2(遵循“舍入到偶数”规则的简化实现)。
立即学习“Java免费学习笔记(深入)”;
三角函数与角度转换
所有三角函数(sin、cos、tan、asin等)均以弧度为单位。若输入角度,必须先用Math.toRadians(deg)转换;结果如需角度,用Math.toDegrees(rad)反向转换:
-
Math.sin(Math.toRadians(30))≈ 0.5 -
Math.acos(0.5)返回弧度值,Math.toDegrees(Math.acos(0.5))≈ 60.0
注意:传入非法值(如acos(2))会返回NaN,建议前置校验。
生成随机数与常量使用
Math.random()返回[0.0, 1.0)范围内的double伪随机数,适合简单场景:
- 生成[0, 100)的整数:
(int)(Math.random() * 100) - 生成[a, b)区间浮点数:
a + Math.random() * (b - a)
类中还定义了两个常用常量:Math.PI(π)和Math.E(自然对数底e),可直接使用,无需自己定义。










