Java随机数生成方法详解
使用Random类可生成多种随机数,创建对象后调用nextInt()、nextDouble()等方法实现,如rand.nextInt(100)生成0-99的整数,rand.nextDouble()生成0.0到1.0间的双精度数。
使用Random类可生成多种随机数,创建对象后调用nextInt()、nextDouble()等方法实现,如rand.nextInt(100)生成0-99的整数,rand.nextDouble()生成0.0到1.0间的双精度数。

在Java中生成随机数是编程中常见的需求,比如模拟、游戏开发或数据测试。Java提供了多种方式来生成随机数,使用起来简单且灵活。
使用 java.util.Random 类
Random 类是生成随机数最常用的方式之一。它支持生成整数、浮点数、布尔值等类型。
创建 Random 对象后,调用其方法即可获取随机值:- nextInt():生成一个随机整数
- nextInt(n):生成一个介于 0(含)到 n(不含)之间的整数
- nextDouble():生成一个介于 0.0 到 1.0 之间的双精度浮点数
- nextBoolean():生成一个随机布尔值
示例代码:
import java.util.Random;Random rand = new Random();int num = rand.nextInt(100); // 生成 0-99 的随机整数double d = rand.nextDouble(); // 0.0 <= d < 1.0使用 Math.random()
如果不想创建对象,可以使用 Math.random() 静态方法。它返回一个 0.0 到 1.0 之间的 double 值。
这个方法内部其实也使用了 Random 类,适合简单场景。若要生成指定范围的整数,可以这样转换:
int randomNum = (int)(Math.random() * 100); // 生成 0-99 的整数// 生成 [min, max] 范围内的整数int min = 10, max = 50;int rangeNum = (int)(Math.random() * (max - min + 1)) + min;使用 ThreadLocalRandom(多线程推荐)
在并发程序中,建议使用 ThreadLocalRandom,它是 Random 的改进版本,为每个线程提供独立的随机数生成器,性能更好。
使用方式类似 Random:import java.util.concurrent.ThreadLocalRandom;int randInt = ThreadLocalRandom.current().nextInt(1, 101); // 1 到 100double randDouble = ThreadLocalRandom.current().nextDouble(0.0, 1.0);生成安全随机数(加密用途)
如果用于密码、令牌等安全敏感场景,应使用 SecureRandom 类。它生成的随机数具有更高的不可预测性。
import java.security.SecureRandom;SecureRandom secureRand = new SecureRandom();int secretNum = secureRand.nextInt(1000);// 注意:SecureRandom 初始化可能较慢,但更安全基本上就这些。根据使用场景选择合适的方法:一般用途用 Random 或 Math.random(),并发环境用 ThreadLocalRandom,安全相关用 SecureRandom。不复杂但容易忽略细节。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















