天天看點

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)

//Math裡面也有取随機數,随機數是double類型的,[0,1)
    System.out.println(Math.random());      //0.9187288533393174
    //也可能得到一個6位數随機數
    String random = (int) (Math.random() * 100000) + "";
    System.out.println(random);             //20632
           
這裡面隻是最常用的方法,還有非常多的方法,可以去檢視API

我的公衆号

Java | Random 和 Math 的概述及使用

細節決定成敗!

個人愚見,如有不對,懇請斧正!