今天突然想起來,java產生隨機數的問題,上機試了一下,找到了一點區別,在這里總結一下;
直接調用Math.random()是產生一個[0,1)之間的隨機數,
如果用
java.util.Random random=new Random();random.nextInt()
這樣產生一個長整型的隨機數并且與上一次是一樣的,如果過一會再產生就不會一樣了,例如:
1
2
3
4
5
|
for ( int i = 0 ; i < 10 ; i++) { Random random= new Random(); Thread.sleep( 100 ); System.out.print(( int )random.nextInt( 100 )+ " " ); } |
就是產生不同的隨機Long數了
如果想用java.util.Random()產生指定范圍的隨機數就需要進行求模運算,進行一些處理。
同樣 可以random.nextInt(100)產生100以內的隨機數。一般最好用nextInt(范圍)的,如果不是大量的運算的話,就可以用Math.random了,(因為他可以運算起來慢一些,浮點之后再取整)
以上這篇淺談java中Math.random()與java.util.random()的區別就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。