求解大一javajava 产生随机数数问题

最近用到随机数但是一直都没搞多清楚。刚好用到就总结一下(主要是来源API以及网上)

J***A能实现随机数的方法主要有:

很多时候我们用到随机数主要是出于某个对象或其他事件有多种可能的状态。通过java 产生随机数数

随机地实现某一状态,改变显示结果或是使程序进入某一分支中

例如俄罗斯方块中,方块有七种类型同时每一个方块又有四种状态。可以用这样的方式 来随机产生下落的

第二种:使用java.util.Random类的Random对象当然他的功能就强大多了,不仅仅可以java 产生随机数整数浮点数,长整型布尔数都可以。

产生的随机数真不知道是那个可以肯定上面代码如果是整型,那一般昰很大的数同时有正有负。

如何生成某个范围的随机数比如像上面,0~1000之间的随机数

一般的方法是:取正取模

但会出现值偏小的情况。

所以JDK升级的版本的用法就为nextInt(100)产生0-100之间的随机数,更方便

       返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的

就先写到这里有机会再加吧!

 java的随机数我们用的很多但是java随機数的发生器是什么原理呢?一直没有搞明白最近搞了一下贴出来看看

1、随机数:新的随机数与上一个数无关,不可追溯不可预测

2、隨机数发生器:java 产生随机数数的方法

3、真正的随机数:真正的随机数一般都是由物理现象产生的

4、伪随机数:是由固定的、可以重复计算嘚算法产出

伪随机数发生器的评判标准

 从源码中我们可以看出,random只产生int型的随机数并且保证了同一个对象即使在多线程情况下也不会产苼一样的随机数,产生的int随机数是从高位开始截取的也就是保留高位,去掉低位

参考资料

 

随机推荐