java的math类提供无需实例化的静态数学方法,遵循ieee 754标准,支持绝对值、最值、幂运算、平方根、指数对数、多种取整、三角函数(弧度制)、特殊值处理及推荐使用threadlocalrandom生成随机数。

Java 的 Math 类提供了大量静态方法,用于执行常见数学运算,无需实例化,直接通过类名调用即可。它封装了三角函数、对数、指数、取整、随机数等操作,底层基于 IEEE 754 标准,结果可预测且跨平台一致。
常用数值计算方法
Math 提供了基础四则之外的关键运算:
-
绝对值:
Math.abs(-5)返回5(支持 int/long/float/double) -
最大/最小值:
Math.max(3, 7)返回7;Math.min(3.2, 1.8)返回1.8 -
幂运算:
Math.pow(2, 3)计算 2³,返回8.0(结果为 double) -
平方根:
Math.sqrt(16)返回4.0;对负数返回NaN -
自然指数与对数:
Math.exp(1)≈ 2.718;Math.log(Math.E)= 1.0;Math.log10(100)= 2.0
精确取整与舍入控制
避免使用强制类型转换截断小数,应按语义选择合适方法:
-
向下取整(≤ 原值):
Math.floor(3.9)→3.0;Math.floor(-2.1)→-3.0 -
向上取整(≥ 原值):
Math.ceil(3.1)→4.0;Math.ceil(-2.9)→-2.0 -
四舍五入:
Math.round(3.5)→4(返回 long 或 int);注意Math.round(-2.5)结果为-2(向正无穷方向舍入) -
截断取整:
Math.trunc(3.9)不存在,可用(long)3.9或Math.floor+ 类型转换,但需自行处理负数逻辑
三角函数与角度转换
所有三角方法参数单位为弧度,日常角度需先转换:
- 角度转弧度:
Math.toRadians(180)→ π ≈3.14159 - 弧度转角度:
Math.toDegrees(Math.PI)→180.0 - 正弦/余弦/正切:
Math.sin(Math.PI / 2)≈1.0;Math.cos(0)=1.0 - 反三角函数返回弧度:
Math.asin(1)=Math.PI / 2
特殊值与边界处理
Math 对异常输入有明确定义,无需额外 try-catch:
- 对
NaN输入,多数方法返回NaN(如Math.sqrt(Double.NaN)) - 对无穷大输入,部分方法有约定:例如
Math.abs(Double.NEGATIVE_INFINITY)=Double.POSITIVE_INFINITY - 零的正负号保留:
Math.copySign(3.0, -0.0)→-3.0;Math.signum(-0.0)→-0.0 - 生成随机数推荐用
ThreadLocalRandom.current().nextDouble(),而非过时的Math.random()
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











