Java基础之——随机数
概述
在Java中提供了两种生成随机数的方式
- Math类中的random方法
- 调用Random类
Math.random()
Math类的random()方法没有参数,它默认会返回[0,1)之间的double随机数
对random()方法返回的数字稍加处理,即可实现产生任意范围随机数的功能
- (int)(Math.random() * n):返回 [0,n) 的随机数
- m + (int)(Math.random() * n):返回 [m,m+n) 的随机数
获取一个2—100的数值
int number = 2 + (int)(Math.random() * 98)
使用该方法还可以生成字符
- (char)(‘a’+ Math.random() * (‘z’-‘a’+1))
Random类
语法:Random r = new Random()
以这种方式实例化对象时,Java编译器将以系统当前时间作为随机数生成器的种子
用户还可以在实例化的时候设置随机数生成器的种子:Random r = new Random(seedvalue)
常用方法
- int nextInt():返回一个随机整数
- int nextInt(int n):返回一个 [0, n) 的随机整数
- long nextLong():返回一个随机长整型数
- boolean nextBoolean():返回一个随机布尔型值
- float nextFloar():返回一个随机浮点数
- double nextDouble()
- double nextGaussian():返回一个概率密度为高斯分布的双精度值
获取1到10的范围
int num = r.nextInt(10)+1;
生成[-3,15]区间的整数
int num = r.nextInt(18) - 3;