浅谈Java中的几种随机数
2012-04-11 11:22
351 查看
/** * 浅谈Java中的几种随机数 * 英文出自:http://www.summa-tech.com/blog/2012/03/14/the-several-flavors-of-random-in-java/ * 译文出自:http://www.oschina.net/question/157182_45274 */ public class Test{ public static void main(String[] args){ //1. 我们从书本上学到什么? System.out.println("//---------------------------------"); System.out.println("产生一个0到1之间的双精度浮点数随机数:"+java.lang.Math.random()); System.out.println("要产生0.0和10.0之间的双精度浮点数:"+java.lang.Math.random() * 10); System.out.println("产生0和10之间的整数:"+java.lang.Math.round(java.lang.Math.random() * 10)); //2.进阶 //通过阅读Math.random()的源码,或者干脆利用IDE的自动完成功能,开发人员可以很容易发现,java.lang.Math.random()使用一个内部的随机生成对象 - 一个很强大的对象可以灵活的随机产生:布尔值、所有数字类型,甚至是高斯分布。例如:"); System.out.println("\n\n//---------------------------------"); System.out.println(new java.util.Random().nextInt(10)); //3.并发 //期待已久的Java 7提供了一种新的方式来产生随机数: System.out.println("\n\n//---------------------------------"); System.out.println("java7"+java.util.concurrent.ThreadLocalRandom.current().nextInt(10) ); }
}