Random类用于生成随机数,位于java.util包中。通过无参或带参构造创建实例,分别支持不同或固定种子。调用nextInt()、nextDouble()等方法可生成整数、浮点数等类型随机值。示例中生成1到100的随机数可用random.nextInt(1, 101)(Java 17+)或random.nextInt(100) + 1。需注意多线程场景下性能问题,推荐使用ThreadLocalRandom;安全敏感场景应选用SecureRandom。总体上,Random适用于常规需求,但需关注范围控制与线程安全性。

在Java中,Random类是生成随机数的常用工具,位于java.util包中。它提供了多种方法来生成不同类型的随机数,比如整数、浮点数、布尔值等。下面介绍如何使用Random类进行常见操作。
创建Random对象
使用Random类的第一步是创建它的实例。有两种方式:
- 无参构造:以当前时间作为种子,每次运行程序产生不同的随机序列
- 带参构造:传入一个固定的种子值,适合用于需要重复结果的场景(如测试)
Random seededRandom = new Random(12345); // 固定种子
生成不同类型的随机数
创建对象后,就可以调用其方法生成所需类型的随机数:
- nextInt():生成一个随机整数(int范围)
- nextInt(bound):生成一个从0(含)到bound(不含)之间的整数,常用于指定范围
- nextDouble():生成一个[0.0, 1.0)之间的双精度浮点数
- nextFloat():生成[0.0f, 1.0f)之间的单精度浮点数
- nextBoolean():以约50%的概率返回true或false
- nextLong():生成一个随机长整型数
示例:生成1到100之间的随机整数
立即学习“Java免费学习笔记(深入)”;
网络工作室源码基于热腾CMS(RTCMS)定制,栏目全站自动调用,可设置生成为html静态文件。网站分类适合网络公司和工作室使用。程序中带有演示数据,如果全新安装,可将根目录下的/uploads 文件夹中的演示图片文件删掉。安装方式:上传upload_install中的文件上传到虚拟主机或服务器网站根目录下;访问 http://域名/ 即可安装,安装时可以选取“演示数据&
int randomNumber = random.nextInt(1, 101); // Java 17+ 支持两个参数
// 或者使用老版本写法:
// int randomNumber = random.nextInt(100) + 1;
注意事项与替代方案
虽然Random类简单易用,但有几点需要注意:
- 在多线程环境下,频繁使用同一个Random实例可能导致性能问题,可考虑使用ThreadLocalRandom(来自java.util.concurrent)
- 对于加密或安全相关的随机数,应使用SecureRandom,因为它提供更强的随机性
- 从Java 7开始,推荐在并发场景下使用
ThreadLocalRandom.current().nextInt()
例如,使用ThreadLocalRandom生成随机数:
int num = ThreadLocalRandom.current().nextInt(1, 101);基本上就这些。Random类适合大多数常规用途,理解其方法和适用场景能帮助你更灵活地处理随机数需求。不复杂但容易忽略的是范围控制和线程安全性问题。









