java生成隨機數的原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1. 簡單,只需理解基本的概念,就可以編寫適合于各種情況的應用程序;2. 面向對象;3. 分布性,Java是面向網絡的語言;4. 魯棒性,java提供自動垃圾收集來進行內存管理,防止程序員在管理內存時容易產生的錯誤。;5. 安全性,用于網絡、分布環境下的Java必須防止病毒的入侵。6. 體系結構中立,只要安裝了Java運行時系統,就可在任意處理器上運行。7. 可移植性,Java可以方便地移植到網絡上的不同機器。8.解釋執行,Java解釋器直接對Java字節碼進行解釋執行。
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 種子設置此隨機數生成器的種子。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。