Math类
Math类主要用于数学的相关运算。除了以下列出的常用方法外,还有对角度进行处理的方法,例如sin、cos等三角函数,将弧度化为角度,将角度化为弧度的方法——toDegrees()、toRadians(),但对浮点数进行运算时会存在不精确有近似的问题。
public class MathTest {
public static void main(String[] args) {
System.out.println(Math.random()); // [0,1)
System.out.println(Math.ceil(1.1)); //向上取整
System.out.println(Math.floor(1.1));//向下
System.out.println(Math.round(1.1));//四舍五入,返回long类型
System.out.println(Math.abs(-1)); //取绝对值
System.out.println(Math.sqrt(4)); //开方
int a = 3;
int b = 2;
System.out.println(Math.pow(a, b)); a^b
System.out.println(Math.PI);
System.out.println(Math.E);
System.out.println(Math.sin(Math.toRadians(180)));
//1.2246467991473532E-16
}
}
Random类
有时使用Math.random()可能并不方便,于是Random就有了其存在的意义。Math.random()底层调用的就是Random的nextDouble()。
Random random = new Random();
int i = random.nextInt(); //int 范围内随机一个数
int a =random.nextInt(100);//[0~100)的int类型数
int b =random.nextInt(90+random.nextInt());//[90~100)的int类型数
double c =random.nextDouble();//[0~1)
float d = random.nextFloat();//[0~1)
boolean e = random.nextBoolean();//true或false