Random类和Math.random生成的随机数

501 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。​

Random这个类包含于(import java.util.Random;)

Random random=new Random();

Random产生随机数是伪随机数,产生的随机数是根据时间戳作为种子而产生一个32位的随机数所以范围是-2147483648~2147483647,如果每次的种子相同产生的随机数就是相同的,我们也可以主动设置种子,在new Randow(seed:num)填入num,也可以改变产生随机数的范围

int num=random.nextInt();

在()中间填入值,注意!随机数值是前闭后开的区间。

    • booleannextBoolean()返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 boolean值。
      voidnextBytes(byte[] bytes)生成随机字节并将它们放入用户提供的字节数组中。
      doublenextDouble()返回下一个伪随机数,从这个随机数发生器的序列中 0.01.0之间的 double0.0分布。
      floatnextFloat()返回下一个伪随机数,从这个随机数发生器的序列中 0.01.0之间的 float0.0分布。
      doublenextGaussian()从该随机数发生器的序列返回下一个伪随机数,高斯(“正”)分布 double值,平均值为 0.0 ,标准差为 1.0
      intnextInt()返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
      intnextInt(int bound)返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。
      longnextLong()返回下一个伪,均匀分布 long从这个随机数生成器的序列值。
      voidsetSeed(long seed)使用单个 long种子设置该随机数生成器的种子。

 Math.random

 产生一个double类型01.0不包括1.0的随机数字 Random产生随机数是伪随机数,产生的随机数是根据时间戳作为种子而产生一个32位的随机数所以范围是-21474836482147483647,如果每次的种子相同产生的随机数就是相同的,我们也可以主动设置种子,在new Randow(seed:num)填入num,也可以改变产生随机数的范围

double mathRandom = Math.random();

我们要想转化为int或者其他类型需要进行强转