淺談java中Math.random()與java.util.random()的區(qū)別
今天突然想起來,java產(chǎn)生隨機(jī)數(shù)的問題,上機(jī)試了一下,找到了一點(diǎn)區(qū)別,在這里總結(jié)一下;
直接調(diào)用Math.random()是產(chǎn)生一個(gè)[0,1)之間的隨機(jī)數(shù),
如果用
java.util.Random random=new Random();random.nextInt()
這樣產(chǎn)生一個(gè)長整型的隨機(jī)數(shù)并且與上一次是一樣的,如果過一會(huì)再產(chǎn)生就不會(huì)一樣了,例如:
for (int i = 0; i < 10; i++) { Random random=new Random(); Thread.sleep(100); System.out.print((int)random.nextInt(100)+" "); }
就是產(chǎn)生不同的隨機(jī)Long數(shù)了
如果想用java.util.Random()產(chǎn)生指定范圍的隨機(jī)數(shù)就需要進(jìn)行求模運(yùn)算,進(jìn)行一些處理。
同樣 可以random.nextInt(100)產(chǎn)生100以內(nèi)的隨機(jī)數(shù)。一般最好用nextInt(范圍)的,如果不是大量的運(yùn)算的話,就可以用Math.random了,(因?yàn)樗梢赃\(yùn)算起來慢一些,浮點(diǎn)之后再取整)
以上這篇淺談java中Math.random()與java.util.random()的區(qū)別就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot如何使用mail實(shí)現(xiàn)登錄郵箱驗(yàn)證
在實(shí)際的開發(fā)當(dāng)中,不少的場景中需要我們使用更加安全的認(rèn)證方式,同時(shí)也為了防止一些用戶惡意注冊(cè),我們可能會(huì)需要用戶使用一些可以證明個(gè)人身份的注冊(cè)方式,如短信驗(yàn)證、郵箱驗(yàn)證等,這篇文章主要介紹了SpringBoot如何使用mail實(shí)現(xiàn)登錄郵箱驗(yàn)證,需要的朋友可以參考下2024-06-06Spring?Boot使用Schedule實(shí)現(xiàn)定時(shí)任務(wù)的方法
這篇文章主要介紹了Spring?Boot使用Schedule實(shí)現(xiàn)定時(shí)任務(wù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03springboot websocket集群(stomp協(xié)議)連接時(shí)候傳遞參數(shù)
這篇文章主要介紹了springboot websocket集群(stomp協(xié)議)連接時(shí)候傳遞參數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Java常用數(shù)字工具類 數(shù)字轉(zhuǎn)漢字(1)
這篇文章主要為大家詳細(xì)介紹了Java常用數(shù)字工具類,數(shù)字轉(zhuǎn)漢字,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05spring cloud openfeign 源碼實(shí)例解析
這篇文章主要介紹了spring cloud openfeign 源碼實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10