Java中Random 和 Math 的概述及使用(二六)

Random

Random类是java.util的包里面提供的我们常用的API,方便我们操作的,还有非常多像Random一样的类。

Random的作用

生成一个随机数字,可以指定范围,也可以真的随机。

Random的使用

    //一般都是使用的无参的构造方法
    Random random = new Random();
    for (int i = 0; i < 5; i++) {
        //public int nextInt() 无参的,不规定范围 
        //产生的随机数的范围是在int的范围之内,别的next的开头的方法也是一样的。
        int num = random.nextInt();
        System.out.println("产生的随机数:" + num);
        /*  产生的5次随机数都不一样:
            产生的随机数:-1775517072
            产生的随机数:-713016963
            产生的随机数:178644475
            产生的随机数:-1310793069
            产生的随机数:-244950723
         */
    }

nextint()方法的重载:

    Random random = new Random();
    for (int i = 0; i < 5; i++) {
        //有参的规定了随机数产生的范 只能是 [0,5) 不包括5
        int num = random.nextInt(5);
        System.out.println("产生的随机数:" + num);
        /*  产生的5次随机数都不一样:
            产生的随机数:0
            产生的随机数:1
            产生的随机数:2
            产生的随机数:2
            产生的随机数:2
         */
    }

产生6位随机数:

    //产生一个六位数的随机数
    Random random = new Random();
    for (int i = 0; i < 5; i++) {
        //有参的规定了随机数产生的范 只能是 [0,900000) 不包括900000
        int num = random.nextInt(900000);   //不用担心会超过,因为产生的随机数最大值也就是899999
        //但是因为是产生的6位数随机数,所以说最小也得是100000,所以结果必须加上100000
        System.out.println("产生的随机数:" + (num+100000));
        /*  产生的5次随机数都不一样:
                产生的随机数:299538
                产生的随机数:552147
                产生的随机数:351696
                产生的随机数:278391
                产生的随机数:660403
         */

还有非常多的的方法,这里只是说一种常用的方法,还有比如获取随机流,然后操作,更多方法可以去查看API

Math

Math类是一个王数学查关的工具类,里面提供了在量的静态方法,完成王数学运算查关的操作。
常用的方法:
public static double abs(double num) 获取绝对值
public static double ceil(double num) 向上取整
public static double floor(double num) 向下取整
public static long round(double num) 四舍五入
public static double abs(double num) 获取随机数 [0,1)
使用:
public static double abs(double num) 获取绝对值

    System.out.println(Math.abs(1));    //1
    System.out.println(Math.abs(-1));   //1

public static double ceil(double num) 向上取整

    //向上取整是按照数轴上面往右边取整的,向下面取整正好相反
    System.out.println(Math.ceil(1.1));     //2.0
    System.out.println(Math.ceil(-1.1));    //-1.0  

public static double floor(double num) 向下取整

    //向下取整是按照数轴上面往左边取整的,同上面取整正好相反
    System.out.println(Math.floor(1.9));     //1.0
    System.out.println(Math.floor(-1.9));    //-2.0

public static long round(double num) 四舍五入

    //四舍五入
    System.out.println(Math.round(1.4));     //1
    System.out.println(Math.round(1.5));     //2
    //负数的时候,有点不一样,-1.5也是取-1,必须-1.6才是-2
    System.out.println(Math.round(-1.4));    //-1
    System.out.println(Math.round(-1.5));    //-1
    System.out.println(Math.round(-1.6));    //-2

public static double abs(double num) 获取随机数 [0,1)

    //Math里面也有取随机数,随机数是double类型的,[0,1)
    System.out.println(Math.random());      //0.9187288533393174
    //也可能得到一个6位数随机数
    String random = (int) (Math.random() * 100000) + "";
    System.out.println(random);             //20632

这里面只是最常用的方法,还有非常多的方法,可以去查看API



细节决定成败!
个人愚见,如有不对,恳请扶正!

猜你喜欢

转载自www.cnblogs.com/xdtg/p/12599347.html
今日推荐