首页 > 基础教程 > 常用类 > 常用 Random类
Java Random.nextDouble,nextFloat,nextLong,nextBoolean,nextBytes随机数
java中Random.nextDouble()用于返回一个大于或等于 0.0 且小于 1.0 的随机浮点数;Random.nextFloat()返回的是0.0-1.0之间的随机数;Random.nextLong()返回-9223372036854775808——9223372036854775807随机数;Random.nextBoolean()随机返回true/false;Random.nextBoolean()会为一个byte类型的数组随机赋值。
定义
double nextDouble() //返回在0.0和1.0之间均匀分布的随机数double值。
float nextFloat() //返回在0.0和1.0之间均匀分布随机数float值。
long nextLong() //返回随机数生成器序列的均匀分布的随机数long 值。
boolean nextBoolean() //返回随机数生成器序列的均匀分布的随机数boolean值。
void nextBytes(byte[] bytes) //生成随机字节并将其置于用户提供的 byte 数组中。
源码
public double nextDouble() {
return (((long)(next(26)) << 27) + next(27)) / (double)(1L << 53);
}
public long nextLong() {
return ((long)(next(32)) << 32) + next(32);
}
public float nextFloat() {
return next(24) / ((float)(1 << 24));
}
public boolean nextBoolean() {
return next(1) != 0;
}
例子
public class RandomDemo {
public static void main(String[] args) throws Exception
{
Random random = new Random();
System.out.println("Long:"+random.nextLong());
System.out.println("double:"+random.nextDouble());
System.out.println("float:"+random.nextFloat());
System.out.println("boolean:"+random.nextBoolean());
byte[] bytes = new byte[5];
random.nextBytes(bytes);
for (int i = 0; i < bytes.length; i++) {
byte aByte = bytes[i];
System.out.print(aByte+"\n");
}
}
}
Random.nextBytes()中byte的取值范围为 -128到127,所以也就是说会为一个byte类型的数组在-128,127这个区间内重新随机赋值。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。