(1)Random类用于生成随机数。每当需要以任意或非系统方式生成数字时,可使用此类。
(2)Math类的random()方法也可以产生随机数,其实Math类的random()方法底层就是使用Random类实现的。
(3)Random类的构造方法有两种重载方式。
构造方法说明
Random()创建一个新的随机数生成器
Random(long seed)使用单个long种子创建一个新的随机数生成器
(4)Random类中定义了很多方法用于获取随机数,最常用的是nextInt()方法,它返回下一个伪随机数,
返回值类型是整数类型。返回下一个伪随机数的语法格式如下:
int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的int值。
int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在0(包括)和指定值n(不包括n)之间
均匀分布的int值。
(5)Random类还定义了得到长整型、boolean型、浮点型等伪随机数的方法。
(6)如果用同样一个种子值来初始化两个Random对象,然后用每个对象调用相同的方法,那么得到的随机数也是相同的。
例如
//创建随机数类对象 使用系统时间为随机种子
Random random = new Random();
//1.调用nextxxx方法生成随机数
int i = random.nextInt();
int i1 = random.nextInt();
boolean b = random.nextBoolean();
System.out.println(i);
System.out.println(i1);
System.out.println(b);
//2.定义随机数区间 [0,10)
int i2 = random.nextInt(10);
System.out.println(i2);
//3.创建随机数类对象,使用指定种子 long类型
//种子一样的对象 分别生成的随机数也一样
Random random1 = new Random(5);
Random random2 = new Random(5);
Random random3 = new Random(6);
//[0,5)
int i3 = random1.nextInt(5);
int i4 = random2.nextInt(5);
int i5 = random3.nextInt(5);
System.out.println("random1->" + i3);
System.out.println("random2->" + i4);
System.out.println("random3->" + i5);