我也来谈谈Java: Random.nextInt() 和Math.random()的区别

来源:互联网 发布:js实现继承的几种方法 编辑:程序博客网 时间:2024/06/06 00:58

 我也来谈谈Java: Random.nextInt() 和Math.random()的区别
效率没有在意,今天知识在从做数据结构中的快速排序的时候,用到了随机数上看到了这一点,其实这里应该确切的说是
Random.nextInt(int n) 和Math.random()*n的区别,因为这两者之间的差异是存在的。看看文档就显而易见,为啥还有那么多人
首先是评论他们的效率问题,而他们根本就是有差异的。因为Random.nextInt(int n)是从0到N,但是不包括N,这里就问题来了,
而Math.random()*n是可能十分接近N的,大部分都是用到了整数吧,为什么还要这样比较呢?
所以这里应该叫
Random.nextInt(n) 和Math.random()*(n-1)或者Random.nextInt(n+1) 和Math.random()*n之间的区别吧,

而且还有一个重要的区别就是,在实际运用当中,配合其他的使用的时候,会出现很大的差异性。这里就不用多说了。
哈哈