Math类
Math类的常用方法
在java.lang包中,使用时不需要导包。
abs
public static void main(String[] args) {
//abs 获取参数绝对值
System.out.println(Math.abs(77));//77
System.out.println(Math.abs(-77));//77
//abs的取值范围:-2147483648~2147483647
System.out.println(Math.abs(-2147483648));//-2147483648,因为超过了范围
//absExact比abs多了个判断是否超出取值范围的功能,JDK15的新方法
System.out.println(Math.absExact(-2147483648));//会报错,因为-2147483648超出范围
}
ceil
//ceil 向上取整
public static void main(String[] args) {
System.out.println(Math.ceil(12.34));//13.0
System.out.println(Math.ceil(-12.34));//-12.0
}
往数轴的正方向靠近
floor
//floor 向下取整
public static void main(String[] args) {
System.out.println(Math.floor(12.54));//12.0
System.out.println(Math.floor(-12.54));//-13.0
}
round
//round 四舍五入
public static void main(String[] args) {
System.out.println(Math.round(12.34));//12
System.out.println(Math.round(12.54));//13
System.out.println(Math.round(-12.34));//-12
System.out.println(Math.round(-12.54));//-13
}
max min
//max比较两数最大值,min比较两数最小值
//源码就是三元运算法的应用
public static void main(String[] args) {
System.out.println(Math.max(12, 13));//13
System.out.println(Math.min(12, 13));//12
}
pow
//pow(a,b) 计算a的b次幂
public static void main(String[] args) {
System.out.println(Math.pow(2, 3));//8.0
//如果第二个参数是小数,就变成了开根号
System.out.println(Math.pow(4, 0.5));//2
//如果第二个参数是负数,就变成了分数
System.out.println(Math.pow(2, -2));//1/4=0.25
/*但建议第二个参数是≥1的整数
java有专门的开根号的方法*/
System.out.println(Math.sqrt(4));//平方根 2
System.out.println(Math.cbrt(8));//立方根 2
}
random
//random 获取[0.0,1.0)的随机数
public static void main(String[] args) {
for (int i=0;i<10;i++){
System.out.println(Math.random());
}
更常见的用法
public static void main(String[] args) {
for (int i=0;i<10;i++){//获取1-100之间的随机数
System.out.println(Math.ceil(Math.random()*100));
/*Math.random()*100→[0.0,100.0)之间的小数
向下取值 floor 去尾法 Math.floor(Math.random()*100)→[0,100)之间的整数
+1形成闭区间 → [0,100]
System.out.println(Math.ceil(Math.random()*100))也行*/
}
}