【说站】java随机数生成原理
2023-06-13 09:13:14 时间
java随机数生成原理
本教程操作环境: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 queue toarray_Java PriorityBlockingQueue toArray()用法及代码示例
- java scanner怎么用_Java中Scanner类的用法及使用步骤分享!「建议收藏」
- JDK1.8源码(三)——java.lang.String 类
- java extends runtimeexception_Java中RuntimeException和Exception的区别
- Java多线程常用面试题(含答案,精心总结整理)
- java 随机数算法_Java随机数算法原理与实现方法实例详解
- 【说站】java事件处理机制的组件
- Java生成随机数组_java生成唯一数字
- JAVA生成uuid_java接口default方法
- java后端开发职责_工作职责和岗位职责有什么区别
- JAVA支持HTTP断点续传详解编程语言
- 使用java执行命令简易封装类详解编程语言
- java注解及在butternife中的实践和原理详解编程语言
- java.util.Date日期类通过java语句转换成Sql(这里测试用的是oracle)语句可直接插入(如:insert into)的日期类型详解编程语言
- Java synchronized实现原理深度剖析
- 时间Redis 数据过期策略的 Java 实现(redisjava过期)
- 机制Redis Java: Expert Solutions for Expiration Mechanism(redisjava过期)
- 时间Java程序处理Redis设置过期时间(redisjava过期)
- 进程Linux下创建多个Java进程的简易方法(linux 多个java)
- Java连接Oracle实现简单快捷的数据传输(java联结oracle)
- 基于Java回顾之I/O的使用详解