java常用类--随机数类Random

Random类用于生成一个伪随机数,它的构造器可以是无参数(以系统时间为种子)的也可以显式的传入一个种子;

它可以输出各种类型的随机数;如果两个random的初始种子是一样的,那么他们产生的相同类型的随机数是一样的(无参看成参数相同)。


详细用法如下代码所示:


package lkl2;

import java.util.Arrays;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;

//java 随机数生成类 Random
public class RandomTest {
	public static void main(String[] args){
		//先建一个对象
		//可以提供一个随机数种子,默认是系统时间
		Random rand = new Random();
		
		//布尔型随机数
	   System.out.println("rand.nextBoolean"+rand.nextBoolean());
	   byte[] buffer = new byte[16];
	   
	   //为一个byte数组赋随机数
	   rand.nextBytes(buffer);
	   System.out.println(Arrays.toString(buffer));
	   
	   //生成0.0~1.0之间的伪随机数
	   System.out.println("rand.nextDouble:"+rand.nextDouble());
	   
	   //生成0.0~1.0之间的伪随机数
	   System.out.println("rand.nextFloat:"+rand.nextFloat());
	   
	   //生成一个整数取值范围内的伪随机数
	   System.out.println("rand.nextInt:"+rand.nextInt());
	   
	   //生成一个0~26之间的伪随机数
	   System.out.println("rand.nextInt(26):"+rand.nextInt(26));
	   
	   //生成一个long整数取值范围的伪随机数
	   System.out.println("rand.nextLong():"+rand.nextLong());
	}

}

除了这个类以外java还用一个用于多线程的随机数类,ThreadLocalRandom类。



你可能感兴趣的:(java学习)