Java中Random.nextInt()与Math.random() 对比和方法使用详解

Random.nextInt()方法,是生成一个随机的int值,该值介于[0,n)的区间,也就是0到n之间的随机int值,包含0而不包含n。

语法

int nextInt()            //随机返回一个int型整数
int nextInt(int num)         //随机返回一个值在[0,num)的int类型的整数,包括0不包括num

nextInt能接受一个整数作为它所产生的随机整数的上限,下限为零,若要达到非零下限的效果,必须把上限减去下限的结果传给 nextInt( ),然后把下限加入 nextInt( ) 返回的整数。

实例

/**
     * 生成任意整数
     */
    @Test
    public void RandomNextIntDemo1(){
        Random r = new Random();
        int n1 = r.nextInt();
        System.out.println("d1:"+n1);
    }
    
    /**
     * 生成[0,10)区间的整数
     */
    @Test
    public void RandomNextIntDemo2(){
        Random r = new Random();
        int n2 = r.nextInt(10);
        int n3 = Math.abs(r.nextInt() % 10);
        System.out.println("n2:"+n2);
        System.out.println("n3:"+n3);
    }

    /**
     * 生成[0,10]区间的整数
     */
    @Test
    public void RandomNextIntDemo3(){
        Random r = new Random();
        int n3 = r.nextInt(11);
        int n4 = Math.abs(r.nextInt() % 11);
        System.out.println("n3:"+n3);
        System.out.println("n4:"+n4);
    }

Java Math.random() 获取随机数

Java Math.random() 方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0。

语法

static double random()

参数

  • 这是一个默认方法,不接受任何参数。

返回值

该方法返回 double 值。

实例一

public class Test{
	public static void main(String args[]){
		System.out.println( Math.random() );
		System.out.println( Math.random() );
	}
}

编译以上程序,输出结果为:

0.5444085967267008
0.7960235983184115

实例二

生成一个 0-100 的随机数

import java.util.Random;

public class RandomTest{
	public static void main(String[] args){
		Random rand=new Random();
		int i=(int)(Math.random()*100);       //  生成0-100的随机数
		int j=rand.nextInt(100);              // 这里是一个方法的重载,参数的内容是指定范围
		System.out.println("i:"+i+"\nj:"+j); // 分别输出两个随机数
	}
}

编译执行,输出结果类似如下:

i:55
j:34

你可能感兴趣的:(Java)