全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页
📅 2026-05-08 6 分钟 ✍️ juanwangdev

MathUtils

本文介绍Java标准库Math类和Apache Commons Math的MathUtils。

Java标准库Math类

概述

java.lang.Math是Java核心数学工具类,提供基本数学运算。

核心特点

  • 静态方法,无需创建对象
  • 位于java.lang包,自动导入
  • 常用数学运算:三角、指数、对数、取整等

基本运算

abs绝对值

Java
Math.abs(-5);      // 5
Math.abs(-3.14);   // 3.14
Math.abs(0);       // 0

max/min最大最小值

Java
Math.max(10, 20);      // 20
Math.max(3.5, 2.8);    // 3.5

Math.min(10, 20);      // 10
Math.min(3.5, 2.8);    // 2.8

// 多个值比较
int maxValue = Math.max(Math.max(1, 2), 3);  // 3

指数与对数

pow幂运算

Java
Math.pow(2, 3);    // 8.0(2的3次方)
Math.pow(10, 2);   // 100.0
Math.pow(5, 0);    // 1.0

sqrt平方根

Java
Math.sqrt(9);      // 3.0
Math.sqrt(16);     // 4.0
Math.sqrt(2);      // 1.41421356...

log对数

Java
Math.log(10);      // 2.302...(自然对数ln)
Math.log10(100);   // 2.0(以10为底)
Math.log2(8);      // 3.0(以2为底,Java 9+)

exp指数

Java
Math.exp(1);       // 2.718...(e的1次方)
Math.exp(0);       // 1.0

取整方法

round四舍五入

Java
Math.round(3.4);   // 3
Math.round(3.5);   // 4
Math.round(3.6);   // 4
Math.round(-3.5);  // -3(负数向正无穷方向)

floor向下取整

Java
Math.floor(3.7);   // 3.0
Math.floor(3.1);   // 3.0
Math.floor(-3.1);  // -4.0

ceil向上取整

Java
Math.ceil(3.1);    // 4.0
Math.ceil(3.7);    // 4.0
Math.ceil(-3.1);   // -3.0
方法3.4结果3.5结果3.6结果
round344
floor3.03.03.0
ceil4.04.04.0

三角函数

sin/cos/tan

Java
Math.sin(Math.PI / 2);  // 1.0(sin 90°)
Math.cos(0);            // 1.0(cos 0°)
Math.tan(Math.PI / 4);  // 1.0(tan 45°)

// 参数是弧度,角度转弧度:angle * PI / 180
double radians = 90 * Math.PI / 180;
Math.sin(radians);  // 1.0

toRadians/toDegrees转换

Java
Math.toRadians(180);  // π(角度→弧度)
Math.toDegrees(Math.PI);  // 180.0(弧度→角度)

随机数

random随机数

Java
Math.random();  // [0.0, 1.0)随机double

// 生成0-9随机整数
int rand = (int)(Math.random() * 10);

// 生成1-100随机整数
int rand = (int)(Math.random() * 100) + 1;

常量

PI和E

Java
Math.PI;   // 3.141592653589793
Math.E;    // 2.718281828459045

Apache Commons Math

MathUtils概述

Apache Commons Math库提供更丰富的数学工具。

依赖引入

XML
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-math3</artifactId>
    <version>3.6.1</version>
</dependency>

常用方法

Java
// 判断是否为数字
ArithmeticUtils.isPowerOfTwo(8);  // true(是否是2的幂)

// 最大公约数
ArithmeticUtils.gcd(12, 8);  // 4

// 最小公倍数
ArithmeticUtils.lcm(4, 6);   // 12

// 组合数(n选k)
ArithmeticUtils.binomialCoefficient(5, 2);  // 10

要点总结

  • Math是java.lang包的核心数学类
  • abs绝对值,max/min比较大小
  • pow幂运算,sqrt平方根
  • log/log10对数,exp自然指数
  • round四舍五入,floor/ceil取整
  • sin/cos/tan三角函数(参数弧度)
  • random生成[0,1)随机数
  • Math.PI和Math.E常量
  • Commons Math提供更丰富的数学运算

📝 发现内容有误?点击此处直接编辑

← 上一篇 IOUtils
下一篇 → ObjectUtils
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库