java如何用random
使用 Java Random 生成随机数
Java 提供了 java.util.Random 类来生成伪随机数。以下是几种常见的使用方法。
创建 Random 对象
直接实例化 Random 类来创建一个随机数生成器:
Random random = new Random();
如果需要指定种子(用于复现相同的随机序列),可以传入种子值:
Random random = new Random(12345); // 种子为 12345
生成随机整数
使用 nextInt() 方法生成一个随机的 int 值:
int randomNumber = random.nextInt(); // 生成任意范围内的整数
生成指定范围内的随机整数(例如 0 到 99):
int bound = 100;
int randomInRange = random.nextInt(bound); // 0 (包含) 到 bound (不包含)
生成随机长整型
使用 nextLong() 方法生成随机的 long 值:

long randomLong = random.nextLong();
生成随机浮点数
生成 [0.0, 1.0) 范围内的随机 float:
float randomFloat = random.nextFloat();
生成 [0.0, 1.0) 范围内的随机 double:
double randomDouble = random.nextDouble();
生成随机布尔值
生成随机的 true 或 false:

boolean randomBoolean = random.nextBoolean();
生成高斯分布的随机数
生成符合高斯分布(均值为 0,标准差为 1)的随机 double:
double gaussianRandom = random.nextGaussian();
生成随机字节数组
填充一个字节数组为随机值:
byte[] bytes = new byte[10];
random.nextBytes(bytes); // 填充 bytes 数组
线程安全的 Random
如果需要多线程环境下的随机数生成,可以使用 ThreadLocalRandom:
import java.util.concurrent.ThreadLocalRandom;
int randomNum = ThreadLocalRandom.current().nextInt(0, 100); // 0 (包含) 到 100 (不包含)
使用 SecureRandom 增强安全性
如果需要密码学安全的随机数,可以使用 java.security.SecureRandom:
import java.security.SecureRandom;
SecureRandom secureRandom = new SecureRandom();
int secureRandomNum = secureRandom.nextInt(100);
注意事项
Random生成的随机数是伪随机数,基于种子值计算,不适合安全敏感场景。- 避免在循环中重复创建
Random实例,否则可能导致随机性不足。 SecureRandom性能较低,但适用于密码学需求。






