random方法是java.lang.Math的方法,作用是返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。而Random类是一个类(java.util.Random),里面含有很多方法。
Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100。最终代码:(int)(Math.random()*50) + 50。
Random类产生的随机数,在其最大值范围内,按照概率均匀分布的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
本质上其实没什么区别,Math类的random方法其实也是调用了Random类的nextDouble方法。