Math类
java.lang.Math提供了一系列静态方法用于科学计算;其方法的参数和返回值类型一般为double型。
Math类的常用方法:
- abs 绝对值
- acos,asin,atan,cos,sin,tan 三角函数
- sqrt 平方根
- pow(double a, double b) a的b次幂
- max(double a, double b) 取大值
- min(double a, double b) 取小值
- ceil(double a) 大于a的最小整数
- floor(double a) 小于a的最大整数
- random() 返回 0.0 到 1.0 的随机数
- long round(double a) double型的数据a转换为long型(四舍五入)
- toDegrees(double angrad) 弧度->角度
- toRadians(double angdeg) 角度->弧度
实例:
package TestClass;
public class TestMath {
public static void main(String[] args) {
System.out.println(Math.ceil(3.5));// 4.0
System.out.println(Math.floor(3.8));// 3.0
System.out.println(Math.round(3.5));// 4
System.out.println(Math.abs(-5));// 5
}
}
Random类
Random类是专门用来生成随机数的,Math.random()底层调用的就是Random的nextDouble()方法。
package TestClass;
import java.util.Random;
public class TestRandom {
public static void main(String[] args) {
Random rand = new Random();
// 随机生成[0,1)之间的double类型的数据
System.out.println(rand.nextDouble());//0.41198529727792865
// 随机生成int类型允许范围之内的整型数据
System.out.println(rand.nextInt());//479437199
// 随机生成[0,1)之间的float类型的数据
System.out.println(rand.nextFloat());//0.18552399
// 随机生成false或者true
System.out.println(rand.nextBoolean());//false
// 随机生成[0,10)之间的int类型的数据
System.out.println(rand.nextInt(10));//5
// 随机生成[20,30)之间的int类型的数据
System.out.println(20 + rand.nextInt(10));//26
// 随机生成[20,30)之间的int类型的数据(此种方法计算较为复杂)
System.out.println(20 + (int) (rand.nextDouble() * 10));//23
}
}