Math类

  • 概述
    静态工厂
    java.util.Math 包含用于执行基本数学运算的方法,如指数,幂次方,对数,平方根,三角函数等运算。里面的方法是静态方,不需要创建对象,直接类名调用方法。
  • 基本运算的方法
static 数字型 abs​(数字型 a) 返回值为 数字型绝对值。
static 数字型 ceil​(数字型 a) 返回最小的(最接近负无穷大) 数字型,该值大于或等于该参数,并等于某个整数。 【天花板】
static 数字型 floor​(数字型 a) 返回小于或等于参数的最大(最接近正无穷大) double值,等于数学整数。【地板砖】
static double random​() 返回值为 double的正值,大于等于 0.0 ,小于 1.0 。 【随机数,顾头不顾尾】
static double pow​(double a, double b) 将第一个参数的值返回到第二个参数的幂。
static 数字型 round​(数字型 a) 返回最接近的参数 数字型 ,其中 数字型四舍五入为正无穷大。
  • Math.random()是用于随机生成一个[0.0, 1.0) 的伪随机 double 值.生成a到b之间的数字

    int num=(int)(Math.random()*(b-a+1))+a;

  • 练习
public static double abs(double a); //返回double的绝对值

        System.out.println(Math.abs(-5.2));//5.2
        System.out.println(Math.abs(5.2));//5.2
        System.out.println(Math.abs(0.0));//0.0
public static double ceil(double a); //返回大于等于参数的最小整数,往上取整

        System.out.println(Math.ceil(12.99));//13.0
        System.out.println(Math.ceil(12.5));//13.0
        System.out.println(Math.ceil(12.2));//13.0

        System.out.println(Math.ceil(-12.99));//-12.0
        System.out.println(Math.ceil(-12.5));//12.0
        System.out.println(Math.ceil(-12.2));//12.0
public static double floor(double a) //返回小于等于参数的最大整数。往下取整。

        System.out.println(Math.floor(12.99));//12.0
        System.out.println(Math.floor(12.5));//12.0
        System.out.println(Math.floor(12.6));//12.0

        System.out.println(Math.floor(-12.99));//13.0
        System.out.println(Math.floor(-12.5));//13.0
        System.out.println(Math.floor(-12.6));//13.0
public static long round(double a); //返回最接近参数的long类型值。(相当于四舍五入)

        System.out.println(Math.round(5.5));//6
        System.out.println(Math.round(5.4));//5
        System.out.println(Math.round(5.6));//6

        System.out.println(Math.round(-5.5));//-5
        System.out.println(Math.round(-5.4));//-5
        System.out.println(Math.round(-5.6));//-6

练习:使用math相关的api方法,计算在-10.8到5.9之间,绝对值大于6或者小于2.1的整数有多少个分别是哪些数字?

        int count = 0;//计数器
        //            往上取整                 往下取整
        for (double i = Math.ceil(-10.8); i <= Math.floor(5.9); i++) {
            int abs = (int) Math.abs(i);
            if (abs > 6 || abs < 2.1) {
                System.out.println(abs);
                count++;
            }
        }
        System.out.println(count);
posted @ 2020-11-21 14:41  MikiKawai  阅读(47)  评论(0编辑  收藏  举报