[Java学习之路篇] Java常用类库之Math

所在包:java.lang

Math工具包是Java最常使用的工具包之一,只要与数学计算有关的操作都离不开它,它提供了一些与数学有关的静态方法和常量,如求最大最小值、特殊值(PI、E)、取整等。

常用方法及常量:

1. 自然常数e和圆周率π

// 自然常数 e
public static final double E = 2.7182818284590452354;
// 圆周率 π
public static final double PI = 3.14159265358979323846;

2. 求绝对值

// 求绝对值 abs
public static int abs(int a)
public static long abs(long a)
public static float abs(float a)
public static double abs(double a)

3. 求最大值/最小值

// 求最大值 max 最小值 min
public static int max(int a, int b)
public static long max(long a, long b)
public static float max(float a, float b)
public static double max(double a, double b)

public static int min(int a, int b)
public static long min(long a, long b)
public static float min(float a, float b)
public static double min(double a, double b)

4. 取整

(1) 四舍五入取整 round

// 四舍五入取整 round
public static int round(float a)
public static long round(double a)

// 结果是 1
System.out.println(Math.round(0.5));
// 结果是 0
System.out.println(Math.round(0.49));
// 结果是 0
System.out.println(Math.round(-0.5));
// 结果是 -1
System.out.println(Math.round(-0.51));

(2) 向下取整 floor

// 向下取整 floor
public static double floor(double a)

// 结果是 0.0
System.out.println(Math.floor(0.5));
// 结果是 0.0
System.out.println(Math.floor(0.49));
// 结果是 -1.0
System.out.println(Math.floor(-0.5));
// 结果是 -1.0
System.out.println(Math.floor(-0.51));

地板除 floorDiv: 返回向下取整后的商

// 地板除 floorDiv
public static int floorDiv(int x, int y)
public static long floorDiv(long x, int y)
public static long floorDiv(long x, long y)

// 结果为 2
System.out.println(Math.floorDiv(5,2));
// 结果为 -3
System.out.println(Math.floorDiv(-5,2));
// 结果为 -3
System.out.println(Math.floorDiv(5,-2));
// 结果为 2
System.out.println(Math.floorDiv(-5,-2));

(3) 向上取整 ceil

// 向下取整 floor
public static double ceil(double a)

// 结果是 1.0
System.out.println(Math.ceil(0.5));
// 结果是 1.0
System.out.println(Math.ceil(0.49));
// 结果是 -0.0
System.out.println(Math.ceil(-0.5));
// 结果是 -0.0
System.out.println(Math.ceil(-0.51));

(4) *向零取整 int

// 以下结果均为 0
System.out.println((int)(0.5));
System.out.println((int)(0.49));
System.out.println((int)(-0.5));
System.out.println((int)(-0.51));

5. 随机数

// 返回[0.0,1.0)范围内的double值,底层方法来源于java.util.random包
public static double random()

6. 开方/幂

// 开(正)平方根
public static double sqrt(double a)
// 开立方根
public static double cbrt(double a)
// 幂运算 a是底数,b是指数
public static double pow(double a, double b)

7. 三角函数

// sin cos tan
public static double sin(double a)
public static double cos(double a)
public static double tan(double a)
// 反三角 asin acos atan 返回0~pi之间的值
public static double asin(double a)
public static double acos(double a)
public static double atan(double a)
// 双曲函数
public static double sinh(double x)
public static double cosh(double x)
public static double tanh(double x)

// 结果为 0.49999999999999994
System.out.println(Math.sin(Math.PI / 6));
// 结果为 0.5235987755982989 约等于 π/6
System.out.println(Math.asin(0.5));

角度化为弧度 toRadians (不精确)

public static double toRadians(double angdeg)

弧度化为角度 toDegrees (不精确)

public static double toDegrees(double angrad)

8. 指数函数

// 以 e 为底的指数函数
public static double exp(double a)
// e^x - 1
public static double expm1(double x)

*其它底的指数函数可以通过pow(a, b)来实现。

9. 对数函数

// 以 e 为底的对数函数
public static double log(double a)
// 以 10 为底的对数函数
public static double log10(double a)
// log_e(1 + x)
public static double log1p(double x)

*其它底的对数函数可以通过换底公式实现
换底公式
参考文献:JDK 11 API中文帮助文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值