Java中有一个专门生成随机数的类(Random)
常用方法:
返回值类型 | 方法() | 说明 |
boolean | nextBoolean() | 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布 的 boolean 值。 |
void | nextBytes(byte[] bytes) | 生成随机字节并将其置于用户提供的 byte 数组中。 |
double | nextDouble() | 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。 |
float | nextFloat() | 返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 float 值。 |
double | nextGaussian() | 返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯 (“正态”)分布的 double 值,其平均值是 0.0,标准差是 1.0。 |
int | nextInt() | 返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。 |
int | nextInt(int n) | 返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包 括)和指定值(不包括)之间均匀分布的 int 值。 |
long | nextLong() | 返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布 的 long 值。 |
void | setSeed(long seed) | 使用单个 long 种子设置此随机数生成器的种子。 |
示例代码:
public class RandomDemo
{
public static void main(String[] args)
{
// Random 和 ThreadLocalRandom 的方法基本一致
// ThreadLocalRandom类是Java
// 7新增的一个类,它是Random的增强版。在并发访问的环境下,呆证系统具有更好的线程安全
Random rand = new Random();
// ThreadLocalRandom rand= ThreadLocalRandom.current();
System.out.println("rand.nextBoolean() = " + rand.nextBoolean());
byte[] buffer = new byte[8];
rand.nextBytes(buffer);
System.out.println("rand.nextBytes(buffer) = " + Arrays.toString(buffer
// 生成0.0~1.0之间的伪随机double数
System.out.println("rand.nextDouble() = " + rand.nextDouble());
// 生成0.0~1.0之间的伪随机float数
System.out.println("rand.nextFloat() = " + rand.nextFloat());
// 生成平均值是 0.0,标准差是 1.0的伪高斯数
System.out.println("rand.nextGaussian() = " + rand.nextGaussian());
// 生成一个处于int整数取值范围的伪随机整数
System.out.println("rand.nextInt() = " + rand.nextInt());
// 生成0~26之间的伪随机整数
System.out.println("rand.nextInt(26) = " + rand.nextInt(26));
// 生成一个处于long整数取值范围的伪随机整数
System.out.println("rand.nextLong() = " + rand.nextLong());
}
}