java.util.Random;
Random
他是一个伪随机数 其实我们从理论上来说 没有真正的随机数
生成出来的随机数有一定的规律
Random random = new Random();
如果是没有写种子 他默认是以当前时间为种子
Random random2 = new Random(100);
如果给了种子 并不是意味着就是在种子范围之间了 而是随机算法以你种子进行一个开始
种子数只是随机算法的起源数字,和生成的随机数字的区间无关。
常用方法
nextInt() | 因为int 的取值范围是 -2147483648——2147483647 ,所以生成的数也是处于这个范围, |
---|---|
nextInt(int num) | 那就是生成 0-num之间的数字 |
nextDouble() | 生成0-1之间的小数 |
nextFloat() | 生成0-1的浮点数 |
nextBoolean() | 生成随机的true or false |
random.nextLong() | 会随机生成一个Long类型,同理,因为Long的取值范围是 -9223372036854775808——9223372036854775807,所以也会生成一个这个区间的数。 |
nextBytes(by) | 填充数组 byte的长度是多少就填充多少 |
发生在两个Random中
如果你使用相同的种子 并且使用相同的API进行同一步的操作
生成的随机数是相等