Math

  1. 求绝对值
  2. 取最大或最小值
  3. 计算xy次方
  4. 计算√x
  5. 生成随机数

Math类就是用来进行数学计算的,它提供了大量的静态方法来便于我们实现数学计算。

求绝对值

Math.abs(-100);    //  100
Math.abs(-7.8);    //  7.8

取最大或最小值

Math.max(100, 99);    //  100
Math.min(1.2, 2.3);    //  1.2

计算xy次方

Math.pow(2, 10);    //  2的10次方=1024.0,有小数位是因为该函数返回结果为double型

计算√x

Math.sqrt(2);    //  1.4142135623730951
Math.sqrt(16);    //  4.0,有小数位是因为该函数返回结果为double型

生成随机数

Math.random() 生成 [0, 1) 范围内的double类型随机数。借助它可以生成一个区间在 [MIN, MAX) 的随机数,如下生成一个[10,50)的数 和 [10,50)的整数。

public static void main(String[] args) {
    double x = Math.random(); // x的范围是[0,1)
    double min = 10;
    double max = 50;
    double y = x * (max - min) + min; // y的范围是[10,50)
    long n = (long) y; // n的范围是[10,50)的整数
    System.out.println(y);   //  38.86572600443872
    System.out.println(n);   //  38
}

Math.random()实际上内部调用了Random类,这是一个专门用于产生随机数的类。

Java标准库还提供了一个StrictMath,它提供了和Math几乎一模一样的方法。这两个类的区别在于,由于浮点数计算存在误差,不同的平台(例如x86和ARM)计算的结果可能不一致(指误差不同),因此,StrictMath保证所有平台计算结果都是完全相同的,而Math会尽量针对平台优化计算速度,所以,绝大多数情况下,使用Math就足够了。


他の者にできたか?ここまでやれたか?この先できるか?いいや、仆にしかできない!

目录
×

喜欢就点赞,疼爱就打赏