在 Java 中生成 0 到 100 之间的随机数(包括 0 和 100),可以使用 java.util.Random 类或 Java 8+ 引入的 ThreadLocalRandom 类,以下是几种常见的方法:

方法 1:使用 java.util.Random(适用于单线程)
import java.util.Random;
public class RandomExample {
public static void main(String[] args) {
Random random = new Random();
int randomNumber = random.nextInt(101); // 生成 0-100 的随机数
System.out.println("随机数: " + randomNumber);
}
}
说明:
nextInt(101)生成一个范围在[0, 100]的随机整数(包含 0 和 100)。
方法 2:使用 ThreadLocalRandom(推荐,适用于多线程)
import java.util.concurrent.ThreadLocalRandom;
public class RandomExample {
public static void main(String[] args) {
int randomNumber = ThreadLocalRandom.current().nextInt(0, 101); // [0, 100]
System.out.println("随机数: " + randomNumber);
}
}
说明:
ThreadLocalRandom是 Java 7 引入的,性能更好且线程安全。nextInt(origin, bound)的范围是[origin, bound),因此需要写0, 101来包含 100。
方法 3:使用 Math.random()(简单但性能较低)
public class RandomExample {
public static void main(String[] args) {
double randomDouble = Math.random(); // [0.0, 1.0)
int randomNumber = (int) (randomDouble * 101); // [0, 100]
System.out.println("随机数: " + randomNumber);
}
}
说明:
Math.random()返回[0.0, 1.0)的double值,乘以 101 后取整即可得到 0-100 的整数。
方法 4:使用 SecureRandom(适用于安全敏感场景)
import java.security.SecureRandom;
public class RandomExample {
public static void main(String[] args) {
SecureRandom secureRandom = new SecureRandom();
int randomNumber = secureRandom.nextInt(101); // [0, 100]
System.out.println("随机数: " + randomNumber);
}
}
说明:

SecureRandom用于生成密码学安全的随机数,性能较低,但安全性高。
| 方法 | 适用场景 | 线程安全 | 性能 |
|---|---|---|---|
Random |
单线程 | 不安全 | 一般 |
ThreadLocalRandom |
多线程(推荐) | 安全 | 高 |
Math.random() |
简单场景 | 安全 | 低 |
SecureRandom |
安全敏感场景(如加密) | 安全 | 低 |
推荐使用 ThreadLocalRandom,除非有特殊需求(如安全加密)。

