使用Random类可生成多种类型随机数,如nextInt()获取整数,nextDouble()获取[0.0,1.0)浮点数;Math.random()静态方法适用于简单场景,通过乘法和强制转换生成指定范围整数;多线程环境下推荐ThreadLocalRandom以提升性能;安全敏感场景应使用SecureRandom确保不可预测性。

在Java中生成随机数有多种方式,最常用的是使用java.util.Random类和Math.random()方法。下面介绍几种常见且实用的实现方式。
使用 java.util.Random 类
Random 类是生成随机数的主要工具,支持生成整数、浮点数、布尔值等类型。
示例:- 创建 Random 实例:
Random rand = new Random(); - 生成随机整数:
int num = rand.nextInt();(任意整数) - 生成指定范围内的整数,例如 0 到 99:
int num = rand.nextInt(100); - 生成随机浮点数:
double d = rand.nextDouble();(范围 [0.0, 1.0)) - 生成随机布尔值:
boolean b = rand.nextBoolean();
使用 Math.random() 方法
Math.random() 是一个静态方法,直接返回一个大于等于 0.0 且小于 1.0 的 double 类型值。
如果需要生成指定范围的整数,可以进行换算:- 生成 1 到 10 之间的随机整数:
int num = (int)(Math.random() * 10) + 1; - 生成 0 到 99 的整数:
int num = (int)(Math.random() * 100);
这种方法简单,但功能不如 Random 类灵活。
立即学习“Java免费学习笔记(深入)”;
采用HttpClient向服务器端action请求数据,当然调用服务器端方法获取数据并不止这一种。WebService也可以为我们提供所需数据,那么什么是webService呢?,它是一种基于SAOP协议的远程调用标准,通过webservice可以将不同操作系统平台,不同语言,不同技术整合到一起。 实现Android与服务器端数据交互,我们在PC机器java客户端中,需要一些库,比如XFire,Axis2,CXF等等来支持访问WebService,但是这些库并不适合我们资源有限的android手机客户端,
使用 ThreadLocalRandom(多线程推荐)
在并发场景下,ThreadLocalRandom 是更好的选择,它减少了线程竞争,性能更高。
用法示例:- 导入:
import java.util.concurrent.ThreadLocalRandom; - 生成随机整数:
int num = ThreadLocalRandom.current().nextInt(100); - 生成随机 double:
double d = ThreadLocalRandom.current().nextDouble(0.0, 1.0);
生成安全随机数(加密用途)
对于安全性要求高的场景,比如生成令牌或密钥,应使用 SecureRandom 类。
示例:SecureRandom secRand = new SecureRandom();int num = secRand.nextInt(100);
SecureRandom 使用更复杂的算法,生成的随机数更难预测。
基本上就这些。根据使用场景选择合适的方法:一般用途用 Random,简单场景可用 Math.random(),并发环境推荐 ThreadLocalRandom,安全相关则用 SecureRandom。不复杂但容易忽略的是范围控制和种子设置。









