今天爱分享给大家带来java Random 方法在for循环内和外有什么不同【详细讲解】,希望能够帮助到大家。
总结下Random()方法在for循环内和外的差别:
1创建一个Random()在for循环内的和一个在Random()在for循环外的方法。
2.再在主函数中调用这两个方法:
3.此次两个方法都是产生10个随机数,看下控制台输出结果(运行三次看看):
可以看到,随机函数在for循环内是产生随机的10个数,而在for循环外是产生随机的1个数。
随机数的产生是根据当前系统毫秒值时间来进行随机生成,如果短时间内连续生成随机数,就会导致生成的随机数相同。
看到这,我相信应该明白了吧!
Random()方法在for循环内,由于每次循环的时间都不一样,也就产生了不同的时间毫秒值,运行Random()方法时,就生成了不同的随机数,当连续的时间毫秒值过短时,就出现了相同随机数的情况!
Random()方法在for循环外,虽然每次循环的时间都不一样,产生了不同的时间毫秒值,但由于(除了第一次)并未运行Random()方法,不会改变第一次的时间毫秒值生成的随机数,所以,不管生成多少个数,结果都是重复的一个随机数!