java基础之Random类
Random类
Random类中实现的随机算法是伪随机,也就是有规则的随机。在进行随机时,随机算法的起源数字称为种子数(seed),
在种子数的基础上进行一定的变换,从而产生需要的随机数字。
相同种子数的Random对象,相同次数生成的随机数字是完全相同的。也就是说,两个种子数相同的Random对象,
第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。这点在生成多个随机数字时需要特别注意。
Random类概述:
此类用于产生随机数
如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
构造方法
public Random()没有给种子,用的是默认种子,是当前时间的毫秒值
public Random(long seed)给出指定的种子,给定种子后,每次得到的随机数是相同的。
成员方法:
public int nextInt()返回的是int范围内的随机数
public int nextInt(int n)返回的是[0,n)范围的内随机数
package Random;
import java.util.Random;
public class Demo_1 {
public static void main(String[] args) {
//Random:伪随机
//nextDouble()等价于Math.random()
//注意:种子数相同,随机数相同
Random r = new Random(1);
for (int i = 0; i < 5; i++) {
System.out.println(r.nextInt(5));
}
System.out.println("-----------------------");
Random r1 = new Random(1);
for (int i = 0; i < 5; i++) {
System.out.println(r1.nextInt(5));
}
}
}