java如何随机整数
生成指定范围内的随机整数
使用 java.util.Random 类生成 [min, max] 范围内的随机整数:
import java.util.Random;
Random random = new Random();
int min = 1;
int max = 100;
int randomNumber = random.nextInt(max - min + 1) + min;
nextInt(bound) 生成 [0, bound) 的随机数,通过调整偏移量实现范围控制。

使用 ThreadLocalRandom(多线程推荐)
对于多线程环境,ThreadLocalRandom 性能更优:
import java.util.concurrent.ThreadLocalRandom;
int randomNum = ThreadLocalRandom.current().nextInt(min, max + 1);
注意参数为左闭右开区间 [min, max),因此上限需 +1。

通过 Math.random() 实现
利用 Math.random() 生成 [0.0, 1.0) 的随机浮点数转换为整数:
int randomNum = (int) (Math.random() * (max - min + 1)) + min;
需注意强制类型转换会直接截断小数部分。
注意事项
- 范围边界:确保
max >= min,否则可能抛出异常。 - 种子问题:未指定种子时,
Random默认使用系统时间,但频繁创建实例可能导致随机性降低。 - 安全性:若需密码学安全随机数,应使用
java.security.SecureRandom。






