本文目录导读:

在Java中生成随机数有多种方法,以下是几种常用方式:
使用 Math.random() 方法
// 生成 [0.0, 1.0) 之间的随机double double randomValue = Math.random(); // 生成 [0, 100) 之间的随机整数 int randomInt = (int)(Math.random() * 100); // 0-99 // 生成 [min, max] 之间的随机整数 int min = 10, max = 50; int randomInRange = (int)(Math.random() * (max - min + 1)) + min; // 10-50
使用 Random 类
import java.util.Random; Random random = new Random(); // 生成各种类型的随机数 int intRandom = random.nextInt(); // 任何整数 int intBound = random.nextInt(100); // 0-99 long longRandom = random.nextLong(); // 任何长整数 float floatRandom = random.nextFloat(); // [0.0, 1.0) double doubleRandom = random.nextDouble(); // [0.0, 1.0) boolean booleanRandom = random.nextBoolean(); // true/false // 生成指定范围 [min, max] 的随机数 int min = 10, max = 50; int rangeRandom = random.nextInt(max - min + 1) + min;
使用 ThreadLocalRandom (推荐用于多线程)
import java.util.concurrent.ThreadLocalRandom;
// 生成随机数
int intRandom = ThreadLocalRandom.current().nextInt(100); // 0-99
int intRange = ThreadLocalRandom.current().nextInt(10, 50); // 10-49
double doubleRange = ThreadLocalRandom.current().nextDouble(0.5, 10.5);
// 适用于多线程环境,性能更好
public class RandomDemo {
public static void main(String[] args) {
ThreadLocalRandom random = ThreadLocalRandom.current();
for (int i = 0; i < 10; i++) {
System.out.println(random.nextInt(1, 100)); // 1-99
}
}
}
使用 SecureRandom (加密安全)
import java.security.SecureRandom; SecureRandom secureRandom = new SecureRandom(); // 生成加密安全的随机数 byte[] bytes = new byte[16]; secureRandom.nextBytes(bytes); int secureInt = secureRandom.nextInt(100); int secureRange = secureRandom.nextInt(10, 100);
完整示例:生成验证码
import java.util.Random;
public class RandomDemo {
public static void main(String[] args) {
// 生成6位数字验证码
Random random = new Random();
StringBuilder code = new StringBuilder();
for (int i = 0; i < 6; i++) {
code.append(random.nextInt(10));
}
System.out.println("数字验证码: " + code);
// 生成包含字母和数字的验证码
String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
StringBuilder mixedCode = new StringBuilder();
for (int i = 0; i < 6; i++) {
mixedCode.append(chars.charAt(random.nextInt(chars.length())));
}
System.out.println("混合验证码: " + mixedCode);
}
}
选择建议
| 方法 | 适用场景 | 特点 |
|---|---|---|
| Math.random() | 简单快速 | 只能生成double |
| Random | 常规用途 | 功能全面,线程安全 |
| ThreadLocalRandom | 多线程环境 | 性能最好 |
| SecureRandom | 安全场景 | 加密级别,速度较慢 |
推荐:大多数情况下使用 Random 类即可,在多线程环境下使用 ThreadLocalRandom。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播