Chapter03 Random类

Posted cmdzhizhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chapter03 Random类相关的知识,希望对你有一定的参考价值。

1.api

技术图片

 

RandomDemo

技术图片
package Chapter03_Random;

/**
 * @author cmdzhizhu
 */
/**
    java中已经有的引用类型  Random类,作用,产生随机数
    步骤:
      1. 导入包, Random类,也在java.util文件夹
      2. 公式: 创建出Random类型的变量
      3. 变量. 调用Random类中的功能,产生随机数

      Random类,提供功能 , 名字  nextInt() 产生一个随机数, 结果是int类型
      出现随机数的范围, 在功能nextInt(写一个整数), 整数: 随机出来的范围
      随机数的范围在  0 - 指定的整数之间的随机数   nextInt(100)   0-99

      产生浮点的随机数: 功能名字 nextDouble()  随机数的范围 0.0-1.0

      随机数: 伪随机数, 虚拟机根据人写好的一个算法,生成出来的
*/
import java.util.Random;
public class RandomDemo{
    public static void main(String[] args){
        //    2. 公式: 创建出Random类型的变量
        Random ran = new Random();
        // 3. 变量. 调用Random类中的功能,产生随机数
        // Random类中的,产生随机数的功能
        int i = ran.nextInt(100);
        System.out.println(i);

        //问题? 产生随机数,范围 1-100之间
        // nextInt(100) 0-99 + 1

        double d = ran.nextDouble();
        System.out.println(d);

        boolean b = ran.nextBoolean();
        System.out.println(b);

        ran.setSeed(123L);
    }
}
View Code

 

运行结果

技术图片

 

 

 

 

*java中Random是伪随机,有时候随机数会相同,如果想让生成的随机数更加无法预测,可以用Random.setseed()设置随机数种子,使随机数更加随机。
*这个设置只能一次有效,后续如果还要生成随机数则不会影响。

*Random如果使用相同的seed值,则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,此时每次生成的随机数因时间差异而不同。

当然,如果在Random构造方法中传入LONG值和setSeed()一样效果。



RandomSetseedDemo
技术图片
package Chapter03_Random;

import java.util.Random;

/**
 * @author cmdzhizhu  @date 2020/5/1 18:45
 */
public class RandomSetseedDemo {
    public static void main(String[] args) throws Exception
    {
        //设置这个值 每次运行生成的数字都相同 也可以在构造方法里赋值
        Random random1 = new Random();
        random1.setSeed(100L);
        for (int j = 0; j < 5; j++) {
            System.out.print(" " + random1.nextInt(100) + ", ");
        }

        System.out.println();
        System.out.println("====================================");

        Random random2 = new Random(100L);
        for (int j = 0; j < 5; j++) {
            System.out.print(" " + random2.nextInt(100) + ", ");
        }

    }
}
View Code

运行结果

技术图片

 

以上是关于Chapter03 Random类的主要内容,如果未能解决你的问题,请参考以下文章

DeepLearning.ai--吴恩达--Chapter 2_Vecterization

实用代码片段

21个常用代码片段

PHP 代码片段

菜鸟笔记 -- Chapter 09 常见类和接口

如何从片段 KOTLIN 中调用意图 [重复]