本教程操作环境:windows7系统、java10版,DELL G3电脑。
1、随机生成数方法
final double v = Math.random();
或者
final int i = new Random().nextInt(int bound);
2、原理解析
(1)Math库中的static(静态)方法random()
该方法的作用是产生0到1(包括0,但不包括1)的double值。
(2)使用Random类对象。
该程序可以生成多种不同类型的随机数字,只需调用nextInt()和nextFloat()即可(或调用nextLong()或nextDouble()。传送给nextInt()的参数设定了随机数的上限,下限为0。
3、实例
// 构造函数(一): 创建一个新的随机数生成器。 Random() // 构造函数(二): 使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。 Random(long seed) boolean nextBoolean() // 返回下一个“boolean类型”伪随机数。 void nextBytes(byte[] buf) // 生成随机字节并将其置于字节数组buf中。 double nextDouble() // 返回一个“[0.0, 1.0) 之间的double类型”的随机数。 float nextFloat() // 返回一个“[0.0, 1.0) 之间的float类型”的随机数。 int nextInt() // 返回下一个“int类型”随机数。 int nextInt(int n) // 返回一个“[0, n) 之间的int类型”的随机数。 long nextLong() // 返回下一个“long类型”随机数。 synchronized double nextGaussian() // 返回下一个“double类型”的随机数,它是呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。 synchronized void setSeed(long seed) // 使用单个 long 种子设置此随机数生成器的种子。
以上就是java随机数生成原理,本篇介绍了两种随机数生成的方法,并分别对它们的方法原理进行了解析,大家学会后就可以展开随机数的使用了。更多Java学习指路:Java基础