淺談java中Math.random()與java.util.random()的區(qū)別
今天突然想起來,java產(chǎn)生隨機數(shù)的問題,上機試了一下,找到了一點區(qū)別,在這里總結(jié)一下;
直接調(diào)用Math.random()是產(chǎn)生一個[0,1)之間的隨機數(shù),
如果用
java.util.Random random=new Random();random.nextInt()
這樣產(chǎn)生一個長整型的隨機數(shù)并且與上一次是一樣的,如果過一會再產(chǎn)生就不會一樣了,例如:
for (int i = 0; i < 10; i++) {
Random random=new Random();
Thread.sleep(100);
System.out.print((int)random.nextInt(100)+" ");
}
就是產(chǎn)生不同的隨機Long數(shù)了
如果想用java.util.Random()產(chǎn)生指定范圍的隨機數(shù)就需要進行求模運算,進行一些處理。
同樣 可以random.nextInt(100)產(chǎn)生100以內(nèi)的隨機數(shù)。一般最好用nextInt(范圍)的,如果不是大量的運算的話,就可以用Math.random了,(因為他可以運算起來慢一些,浮點之后再取整)
以上這篇淺談java中Math.random()與java.util.random()的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java字節(jié)碼框架ASM操作字節(jié)碼的方法淺析
這篇文章主要給大家介紹了關于java字節(jié)碼框架ASM如何操作字節(jié)碼的相關資料,文中通過示例代碼介紹的很詳細,有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01
SpringBoot?Knife4j框架&Knife4j的顯示內(nèi)容的配置方式
Knife4j框架是基于Swagger2開發(fā)的在線API文檔生成工具,主要功能包括自動生成API文檔、接口文檔展示、接口測試工具、接口權(quán)限控制和在線調(diào)試,該框架支持通過注解自動生成詳細的接口文檔,開發(fā)者可以直接在文檔界面進行接口測試和調(diào)試2024-09-09
如何基于SpringSecurity的@PreAuthorize實現(xiàn)自定義權(quán)限校驗方法
spring Security提供有若干個過濾器,它們能夠攔截Servlet請求,并將這些請求轉(zhuǎn)給認證和訪問決策管理器處理,從而增強安全性,下面這篇文章主要給大家介紹了關于如何基于SpringSecurity的@PreAuthorize實現(xiàn)自定義權(quán)限校驗方法的相關資料,需要的朋友可以參考下2023-03-03

