📅  最后修改于: 2023-12-03 15:07:54.018000             🧑  作者: Mango
在Java中生成随机数是常见的程序开发需求,本文将介绍Java中几种生成随机数的方法。
Math.random()
方法可生成一个大于等于0.0且小于1.0的double
类型随机数。可以使用该方法生成指定范围内的随机数。
public class RandomTest {
public static void main(String[] args) {
double random = Math.random();
System.out.println(random); // 输出0.0 ~ 1.0之间的一个随机数
int min = 1, max = 6;
int randomInt = (int) (random * (max - min + 1)) + min;
System.out.println(randomInt); // 输出1 ~ 6之间的一个随机整数
}
}
Java中还提供了一个Random
类,该类可生成各种数据类型的随机数。相对于Math.random()
,Random
类提供更多的功能,例如生成指定范围内的整数和生成随机字符串等。
public class RandomTest {
public static void main(String[] args) {
Random random = new Random();
int randomInt = random.nextInt(6) + 1; // 生成1 ~ 6之间的一个随机整数
System.out.println(randomInt);
double randomDouble = random.nextDouble(); // 生成大于等于0.0且小于1.0的随机小数
System.out.println(randomDouble);
boolean randomBoolean = random.nextBoolean(); // 生成true或false
System.out.println(randomBoolean);
}
}
Java 7新增了一个ThreadLocalRandom
类,该类继承自Random
类,并利用线程本地存储(Thread Local Storage)生成随机数,比Random
类更快更安全。
public class RandomTest {
public static void main(String[] args) {
ThreadLocalRandom random = ThreadLocalRandom.current();
int randomInt = random.nextInt(6) + 1; // 生成1 ~ 6之间的一个随机整数
System.out.println(randomInt);
double randomDouble = random.nextDouble(); // 生成大于等于0.0且小于1.0的随机小数
System.out.println(randomDouble);
boolean randomBoolean = random.nextBoolean(); // 生成true或false
System.out.println(randomBoolean);
}
}
以上就是Java中生成随机数的几种方法,可以根据需求选择不同的方法进行使用。