构造函数
Random():这是Random类的构造函数,用于创建一个新的随机数生成器,使用系统时间的毫秒作为默认种子。
Random random= new Random(long seed);
这段代码创建了一个新的 Random 对象,并使用种子值 seed 初始化了它。种子值是用来初始化随机数生成器的值,从而可以产生一系列的随机数。给定的种子值会决定随机数生成器产生的随机数序列。
使用种子值的好处是,当你需要重复生成相同的随机数序列时,可以通过设置相同的种子值来实现。例如,如果你在某次运行中使用种子值 1L 初始化了 Random 对象,那么在下一次运行中,如果你再次使用相同的种子值 1L,你将得到相同的随机数序列。
例如
public class Main {
public static void main(String[] args) {
Random random = new Random(1L);
System.out.println(random.nextInt());
System.out.println(random.nextInt());
}
}
无论你运行这段代码多少次,输出的前两个随机数总是相同的,因为我们使用了固定的种子值 1L。
下面是Random类的一些常用方法的详解:
nextInt():这个方法返回一个随机的整数。
nextInt(int n):这个方法返回一个介于0(包括)到指定值n(不包括)之间的随机整数。
nextDouble():这个方法返回一个介于0.0到1.0之间的随机浮点数。
nextFloat():这个方法返回一个介于0.0f到1.0f之间的随机浮点数。
nextLong():这个方法返回一个随机的长整数。
nextBoolean():这个方法返回一个随机的布尔值,要么是true,要么是false。
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random rand = new Random(); // 创建一个新的随机数生成器
int randInt = rand.nextInt(); // 生成一个随机的整数
System.out.println("随机整数: " + randInt);
int randIntN = rand.nextInt(10); // 生成一个介于0到9之间的随机整数
System.out.println("0到9之间的随机整数: " + randIntN);
double randDouble = rand.nextDouble(); // 生成一个介于0.0到1.0之间的随机浮点数
System.out.println("随机浮点数: " + randDouble);
boolean randBool = rand.nextBoolean(); // 生成一个随机的布尔值
System.out.println("随机布尔值: " + randBool);
}
}
每次运行这段代码,都会生成不同的随机数,因为Random类是基于当前时间的毫秒数来生成随机数的种子,所以每次运行结果都会不同。