java通过Math.random()取随机数的理解

这是一段程序中的代码:
int randomNumber=(int)(Math.random()*8)+1;
  所给出的注释是:得到一个1到8之间的随机整数。开始的时候不是很懂,于是翻书、上网找资料,但是得到的结果都是一样的。Math.random()的作用是得到0-1之间的随机数。那么是如何实现的呢?
  仔细想一想其实并不是很复杂:Math.random()的取值应该是0-1(事实上取不到0和1)之间的随机小数,乘以8之后应该是0-8之间的随机小数,也就是0.****到7.****之间的小数(大于0而小于8),经过int类型转换之后,应该是0-7之间的随机整数,所以”+1″之后就会得到1-8之间的

此条目发表在JAVA SE分类目录,贴了, 标签。将固定链接加入收藏夹。