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))也行*/

        }
    }
posted @ 2022-09-23 16:15  ben10044  阅读(20)  评论(0编辑  收藏  举报