java隨機數生成原理

dapan發表於2021-09-11

java隨機數生成原理

本教程操作環境:windows7系統、java10版,DELL G3電腦。

1、隨機生成數方法

final double v = Math.random();

或者

final int i = new Random().nextInt(int bound);

2、原理解析

(1)Math庫中的static(靜態)方法random()

該方法的作用是產生0到1(包括0,但不包括1)的double值。

(2)使用Random類物件。

該程式可以生成多種不同型別的隨機數字,只需呼叫nextInt()和nextFloat()即可(或呼叫nextLong()或nextDouble()。傳送給nextInt()的引數設定了隨機數的上限,下限為0。

3、例項

// 建構函式(一): 建立一個新的隨機數生成器。
 
Random()
// 建構函式(二): 使用單個 long 種子建立一個新隨機數生成器: public Random(long seed) { setSeed(seed); } next 方法使用它來儲存隨機數生成器的狀態。
Random(long seed)
 
boolean nextBoolean()     // 返回下一個“boolean型別”偽隨機數。
void  nextBytes(byte[] buf) // 生成隨機位元組並將其置於位元組陣列buf中。
double nextDouble()     // 返回一個“[0.0, 1.0) 之間的double型別”的隨機數。
float  nextFloat()      // 返回一個“[0.0, 1.0) 之間的float型別”的隨機數。
int   nextInt()       // 返回下一個“int型別”隨機數。
int   nextInt(int n)    // 返回一個“[0, n) 之間的int型別”的隨機數。
long  nextLong()      // 返回下一個“long型別”隨機數。
 
synchronized double nextGaussian()  // 返回下一個“double型別”的隨機數,它是呈高斯(“正常地”)分佈的 double 值,其平均值是 0.0,標準偏差是 1.0。
synchronized void setSeed(long seed) // 使用單個 long 種子設定此隨機數生成器的種子。

以上就是java隨機數生成原理,本篇介紹了兩種隨機數生成的方法,並分別對它們的方法原理進行了解析,大家學會後就可以展開隨機數的使用了。更多Java學習指路:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/758/viewspace-2829893/,如需轉載,請註明出處,否則將追究法律責任。

相關文章