随机数

1、Math.random()方法——伪随机数

Math类中存在一个random()方法,用于产生随机数,这个方法默认生成大于等于0.0且小于1.0double型随机数。
通过m + (int)( Math.random()*n )生成大于等于m且小于m+n的随机数。
通过(char)( 'a' + Math.random()*( 'z' - 'a' +1 ) )生成a~z之间的字符。
通过(char)(char1 + Math.random()*( char2 - char1 +1 ) )生成任意两个字符之间的随机字符。

2、Random类

通过java.util.Random类,实例化一个Random对象创建一个随机数生成器。

  • Random rand = new Random() ;
  • Random rand = new Random( seedValue) ;
    可以通过上面两种方式创建Random对象,其中seedValue为随机生成器的种子。
在Random类中提供了获取各种数据类型随机数方法:
  • public int nextInt()返回一个随机整数。
  • public int nextInt(int n)返回大于等于0且小于n的随机整数。
  • public long nextLong()返回一个随机长整型值。
  • public boolean nextBoolean()返回一个随机布尔型值。
  • public float nextFloat()返回一个随机浮点型值。
  • public double nextDouble()返回一个随机双精度型值。
  • public double nextGaussian()返回一个概率密度为高斯分布的双精度值。
import java.util.Random;

public class Test9_0 {
    public static void main(String[] args) {
//      返回1-10的随机整数
        System.out.println(1+(int)(Math.random()*(11-1)));
        
//      实例化一个Random对象创建一个随机数生成器
        Random ran = new Random();
        System.out.println("产生一个随机整数:"+ran.nextInt());
        System.out.println("产生一个大于等于0且小于10的随机整数:"+ran.nextInt(10));
        System.out.println("随机产生一个长整型值:"+ran.nextLong());
        System.out.println("随机产生一个双精度型值:"+ran.nextDouble());
        System.out.println("随机产生一个浮点型值:"+ran.nextFloat());
        System.out.println("随机产生一个布尔类型值:"+ran.nextBoolean());
        System.out.println("随机产生一个概率密度为高斯分布的双精度型值:"+ran.nextGaussian());
        
    }
}
运行结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容