Java Random类:生成随机数(附带实例)
java.util.Random 类用于生成随机数,由随机算法通过一个种子(seed)产生伪随机数。由于 f(x)→y,这意味着如果知道了种子,就可能获得接下来的随机数序列的信息,即存在可预测性,所以也称 Random 产生的结果为伪随机数。
任何通过算法获得的随机数都称为伪随机数,只有通过真实随机事件产生的数才叫随机数,如放射性衰变、大气噪声等。
Random 类提供两个构造方法,用于创建 Random 对象,如下表所示:
【实例】使用 Random 类生成随机数,代码如下:
由此可见,相同种子数产生的随机数相同。Random 类常用方法,如下表所示。
任何通过算法获得的随机数都称为伪随机数,只有通过真实随机事件产生的数才叫随机数,如放射性衰变、大气噪声等。
Random 类提供两个构造方法,用于创建 Random 对象,如下表所示:
构造方法 | 作用 |
---|---|
Random() | 以当前时间毫秒值为种子,创建 Random 对象 |
Random(long seed) | 以指定种子创建 Random 对象 |
【实例】使用 Random 类生成随机数,代码如下:
import java.util.Random; public class RandomDemo { public static void main(String[] args) { Random r1 = new Random(); // 以系统自身时间为种子数 int randomInt1 = r1.nextInt(); // 生成随机整数 System.out.println("randomInt1 = " + randomInt1); // 923206161 Random r2 = new Random(3); // 自定义种子数 Random r3 = new Random(3); int randomInt2 = r2.nextInt(); int randomInt3 = r3.nextInt(); System.out.println("randomInt2 = " + randomInt2); // -1155099828 System.out.println("randomInt3 = " + randomInt3); // -1155099828 } }在上述代码中,我们可以看出随机类调用 nextInt() 方法,直接产生随机整数。
由此可见,相同种子数产生的随机数相同。Random 类常用方法,如下表所示。
方法 | 释义 |
---|---|
nextInt() | 产生随机整数 |
nextLong() | 产生随机长整数 |
nextFloat() | 产生随机 float 小数,范围是[0,1] |
nextDouble() | 产生随机 double 小数,范围是[0,1] |
nextBoolean() | 产生随机布尔值,true 或 false |