【青鸟飞扬教育】Java Random 分析

简介

打开 Random 类的源代码,在类注释中可以看到如下说明:

此类的实例用于生成伪随机数流。此类使用 48 位的种子,使用线性同余公式 (linear congruential form) 对其进行了修改(请参阅 Donald Knuth 的 The Art of Computer Programming, Volume 3,第 3.2.1 节)。

如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。为了保证此属性的实现,为类 Random 指定了特定的算法。为了 Java 代码的完全可移植性,Java 实现必须让类 Random 使用此处所示的所有算法。但是允许 Random 类的子类使用其他算法,只要其符合所有方法的常规协定即可。

Random 类实现的算法使用一个 protected 实用工具方法,每次调用它最多可提供 32 个伪随机生成的位。

里面提到了线性同余公式,是个产生伪随机数的方法,下面会进行介绍,先看一下 Random 提供了哪些方法:

Random 方法介绍

int next (int bits):生成下一个伪随机数。

boolean nextBoolean ():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。

void nextBytes (byte [] bytes):生成随机字节并将其置于用户提供的 byte 数组中。

double nextDouble ():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布的 double 值。

float nextFloat ():返回下一个伪随机数,它是取自此随机数生成器序列的、在 0.0 和 1.0 之间均匀分布 float 值。

double nextGaussian ():返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的 double 值,其平均值是 0.0 标准差是 1.0。

int nextInt ():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。

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

long nextLong ():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。

void setSeed (long seed):使用单个 long 种子设置此随机数生成器的种子。

通过上面的介绍,大致可以对 Random 做如下总结:

1.Random 是伪随机,既随机是有规则的,

2. 相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列,

3.Random 类中的各方法生成的随机数字都是均匀分布的。

今日霍州(www.jrhz.info)©️

特别声明:[【青鸟飞扬教育】Java Random 分析] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

雪深传感器安装:选在通风良好、积雪均匀之地,保障测量结果准确(冰雪传感器厂家)

减少气流阻碍影响:通风良好的位置能够让空气自然流通,避免因局部气流不畅而对雪深传感器的测量产生干扰。将雪深传感器安装在远离这些干扰源的位置,能够保证积雪在自然状态下均匀堆积,使测量结果更能真实反映当地的积雪…

雪深传感器安装:选在通风良好、积雪均匀之地,保障测量结果准确(冰雪传感器厂家)

2025新国标下,如何挑选最适合的二氧化碳灭火器🧯(5kg、3公斤、27kg、手提式、推车式)?(2020新国标什么时候取消)

随着2025年新版国家标准的推行,如何挑选一款安全高效的二氧化碳灭火器🧯成为企业与个人用户的关注焦点。本文深入剖析不同规格型号的特点,详解选购关键点,助您避开选型误区,从容应对消防需求。 针对5kg、3公斤、27kg不同容量,手提式与推车式

2025新国标下,如何挑选最适合的二氧化碳灭火器🧯(5kg、3公斤、27kg、手提式、推车式)?(2020新国标什么时候取消)

『李连杰』带小女儿爬山被拍,无滤镜下皱纹横生,走路姿势显老态(『李连杰』和女儿被采访)

在那里,一些未经修饰的照片和视频在网络上传开,迅速引发了广泛的关注。 这次『李连杰』的状态曝光,正好赶在网络上关于他年轻外貌的各种猜测之后。此前,他在『社交媒体』发布的一段视频中,看起来状态较好,显得更加年轻,这…

『李连杰』带小女儿爬山被拍,无滤镜下皱纹横生,走路姿势显老态(『李连杰』和女儿被采访)

三部门:遏制民办幼儿园过高收费 加强监管引导合理收费

12月23日,国家发展改革委、教育部、财政部联合发布《关于完善幼儿园收费政策的通知》。通知明确营利性民办幼儿园收费实行市场调节价,收费标准由幼儿园根据办园成本和区域市场供需情况自主确定,并在开学前向县级以上教育行政部门备案

三部门:遏制民办幼儿园过高收费 加强监管引导合理收费

周年庆文化衫什么颜色更耐穿?(周年庆文化衫图案)

企业在选择周年庆文化衫颜色时,应优先考虑员工日常穿着场景。深灰、藏青、黑色等基础色更容易被接受,也更耐看耐穿。 品牌色可以通过细节体现,而非整体大面积使用,更有利于长期使用。…

周年庆文化衫什么颜色更耐穿?(周年庆文化衫图案)