Random生成随机数和范围内随机数
JAVA生成随机数有两个常用类,一个是java.util.Random,另一个是java.lang.Math,这两个类生成的随机数还是有一定区别的
一、 java.lang.Math类生成随机数
- Math.random()是一个静态方法,默认随机生成的是[0~1)的double类型小数:
double random = Math.random();
System.out.println("生成[0,1)的小数值:" + random);
- 生成随机整数[0~N)的整数(Math.random() * N)
double random = Math.random() * 5;
int value = https://www.it610.com/article/(int) random;
System.out.println("生成[0, 5)的整数值" + value);
二、 java.util.Random类生成随机数(生成随机数方法更多,更常用)
- 生成[0, 1)的double类型小数
Random random = new Random();
double value = https://www.it610.com/article/random.nextDouble();
System.out.println(value);
- 生成[0, N)的随机整数, random.nextInt(N)
Random random = new Random();
int value = https://www.it610.com/article/random.nextInt(10);
System.out.println(value);
- 生成其它随机数
protected int next(int bits):生成下一个伪随机数。
boolean nextBoolean():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的boolean值。
void nextBytes(byte[] bytes):生成随机字节并将其置于用户提供的 byte 数组中。
double nextDouble():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布的 double值。
float nextFloat():返回下一个伪随机数,它是取自此随机数生成器序列的、在0.0和1.0之间均匀分布float值。
double nextGaussian():返回下一个伪随机数,它是取自此随机数生成器序列的、呈高斯(“正态”)分布的double值,其平均值是0.0标准差是1.0。
int nextInt():返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
int nextInt(int n):返回一个伪随机数,它是取自此随机数生成器序列的、在(包括和指定值(不包括)之间均匀分布的int值。
long nextLong():返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
void setSeed(long seed):使用单个 long 种子设置此随机数生成器的种子。
Random random = new Ramdom(System.currentTimeMillis());
int value = https://www.it610.com/article/random.nextInt(20) % (20 - 5 + 1) + 5;
System.out.println(value);
【Random生成随机数和范围内随机数】Random random = new Ramdom(bounds); Random类参数解释:
random类生成随机数,其实不是正真意义上的随机数,他是根据内部制定的规则,随机生成的伪随机数,每次按相同方式去生成随机数,生成的值会是一样。当我们给了bounds这个种子数,它会根据给的种子数去生成随机数,因为我们给的种子数是系统时间,种子数一直在改变,生成的值肯定不同。
推荐阅读
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- ssh生成公钥秘钥
- Java内存泄漏分析系列之二(jstack生成的Thread|Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析)
- 15、IDEA学习系列之其他设置(生成javadoc、缓存和索引的清理等)
- 临床统计学学习日志
- javaweb|基于Servlet+jsp+mysql开发javaWeb学生成绩管理系统
- Java代码辅助效率工具Lombok(注解|Java代码辅助效率工具Lombok(注解,自动生成代码)
- python|python random使用方法
- 单片机|keil把源代码生成lib的方法
- Python之random库的常用函数有哪些