首页 > 编程笔记 > Java笔记 阅读:8

Java Random随机数类的用法(附带实例)

有些场景中我们需要生成随机数,这个时候就可以用随机类(Random)来实现。

Random 类提供了很多生成随机数的方法,包括生成 boolean、int、float、double 和 long 等类型的随机数。

Random 类的常见方法如下表所示,每调用一次 nextxxx() 方法就会生成一个对应类型的随机数。

表:Random类的常见方法
方法名 描述
nextInt() 生成一个随机 int 值
nextInt(int bound) 生成一个 [0,bound) 的随机 int 值
nextLong() 生成一个随机 long 值
nextBoolean() 生成一个随机 boolean 值
nextFloat() 生成一个随机 float 值
nextDouble() 生成一个随机 double 值

现在看看如何使用 Random 类生成随机数。Random 类有两个构造方法,当不传入构造参数时它们会使用默认的种子,而如果想要自定义种子则可以传入一个 long 类型的值。

下面程序通过 nextxxx() 方法来获取随机数,根据实际需要我们可以获取不同类型的随机数:
public class RandomTest {
    public static void main(String[] args) {
        long seed = 1000;
        Random r = new Random();
        Random r2 = new Random(seed);
        System.out.println("返回int型范围的随机整数:" + r.nextInt());
        System.out.println("返回[0,100)范围的随机整数" + r.nextInt(100));
        System.out.println("返回long型范围的随机整数:" + r.nextLong());
        System.out.println("随机返回true或false:" + r.nextBoolean());
        System.out.println("返回float型范围的随机浮点数:" + r.nextFloat());
        System.out.println("返回double型范围的随机浮点数:" + r.nextDouble());
    }
}
某次运行的输出结果:

返回int型范围的随机整数:210247544
返回[0,100)范围的随机整数:61
返回long型范围的随机整数:1230036205699283312
随机返回true或false:false
返回float型范围的随机浮点数:0.5387476
返回double型范围的随机浮点数:0.4909616654258937

相关文章