java如何获得随机数
使用 Math.random() 方法
Math.random() 生成一个 [0.0, 1.0) 范围内的伪随机 double 值。可以通过乘法和类型转换生成指定范围的整数。
// 生成 [0, 99] 的随机整数
int randomNum = (int) (Math.random() * 100);
// 生成 [1, 100] 的随机整数
int randomNum = (int) (Math.random() * 100) + 1;
使用 Random 类
java.util.Random 提供了更灵活的随机数生成方法,支持整数、浮点数、布尔值等。
import java.util.Random;
Random rand = new Random();
// 生成 [0, 99] 的随机整数
int randomInt = rand.nextInt(100);
// 生成 [1, 100] 的随机整数
int randomInt = rand.nextInt(100) + 1;
// 生成随机布尔值
boolean randomBool = rand.nextBoolean();
// 生成随机浮点数 (0.0 <= n < 1.0)
double randomDouble = rand.nextDouble();
使用 ThreadLocalRandom 类(多线程场景)
java.util.concurrent.ThreadLocalRandom 适用于高并发场景,性能优于 Random。
import java.util.concurrent.ThreadLocalRandom;
// 生成 [0, 99] 的随机整数
int randomInt = ThreadLocalRandom.current().nextInt(100);
// 生成 [1, 100] 的随机整数
int randomInt = ThreadLocalRandom.current().nextInt(1, 101);
// 生成随机浮点数
double randomDouble = ThreadLocalRandom.current().nextDouble();
使用 SecureRandom 类(安全敏感场景)
java.security.SecureRandom 提供加密强度的随机数生成,适合密码学相关需求。
import java.security.SecureRandom;
SecureRandom secureRand = new SecureRandom();
// 生成随机字节数组
byte[] bytes = new byte[16];
secureRand.nextBytes(bytes);
// 生成 [0, 99] 的随机整数
int randomInt = secureRand.nextInt(100);






