赞
踩
1)Random():创建一个新的随机数生成器。此构造方法将随机数生成器的种子设置为某个值,该值与此构造方法的所有其他调用所用的值完全不同。
Random(long seed)使用单个long 种子创建一个新的随机数生成器。该种子是伪随机数生成器的内部状态的初始值,该生成器可通过方法 next(int) 维护。
Random 的一个特点是:相同种子数的Random对象,对应相同次数生成的随机数字是完全相同的;
Random random1 = new Random(10);
Random random2 = new Random(10);
random1、random2 对应相同次数生成的随机数字完全相同。比如:
System.out.println(ran.nextInt(10));
System.out.print(ran2.nextInt(10));
输出结果:
5
5
2)Math.random()能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
for(int i = 0; i < 10; i++ ){
System.out.println((int)(Math.random()*5));
}
输出结果:
4,2,0,1,3,3,4,0,3,3
在使用Math.Random()的时候,需要注意的地方是该函数是返回double类型的值,所以在要赋值给其他类型的变量的时候注意需要进行塑形转换。
3)(四舍五入)Math.round(float a)返回最接近参数的 int;
Math.round(double a)返回最接近参数的 long。
System.out.println(Math.round(1.5));
System.out.println(Math.round(-1.5));
System.out.println(Math.round(0.5));
System.out.println(Math.round(-0.5));
输出:
2
-1
1
0
特殊情况如下:
如果参数为 NaN,那么结果为 0。
如果结果为负无穷大或任何小于等于 Integer.MIN_VALUE 的值,那么结果等于 Integer.MIN_VALUE 的值。
如果参数为正无穷大或任何大于等于 Integer.MAX_VALUE 的值,那么结果等于 Integer.MAX_VALUE 的值。
(向上取整)Math.ceil(double a)返回最小的(最接近负无穷大) double 值,该值大于等于参数,并等于某个整数。特殊情况如下:
如果参数值已经等于某个整数,那么结果与该参数相同。
如果参数为 NaN、无穷大、正 0 或负 0,那么结果与参数相同。
如果参数值小于 0,但是大于 -1.0,那么结果为负 0。
System.out.println(Math.ceil(1.2));
System.out.println(Math.ceil(-1.2));
System.out.println(Math.ceil(0.6));
System.out.println(Math.ceil(-0.6));
输出:
2.0
-1.0
1.0
-0.0-0.0-0.01)Random():创建一个新的随机数生成器。此构造方法将随机数生成器的种子设置为某个值,该值与此构造方法的所有其他调用所用的值完全不同。
Random(long seed)使用单个long 种子创建一个新的随机数生成器。该种子是伪随机数生成器的内部状态的初始值,该生成器可通过方法 next(int) 维护。
Random 的一个特点是:相同种子数的Random对象,对应相同次数生成的随机数字是完全相同的;
Random random1 = new Random(10);
Random random2 = new Random(10);
random1、random2 对应相同次数生成的随机数字完全相同。比如:
System.out.println(ran.nextInt(10));
System.out.print(ran2.nextInt(10));
输出结果:
5
5
2)Math.random()能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
for(int i = 0; i < 10; i++ ){
System.out.println((int)(Math.random()*5));
}
输出结果:
4,2,0,1,3,3,4,0,3,3
在使用Math.Random()的时候,需要注意的地方是该函数是返回double类型的值,所以在要赋值给其他类型的变量的时候注意需要进行塑形转换。
3)(四舍五入)Math.round(float a)返回最接近参数的 int;
Math.round(double a)返回最接近参数的 long。
System.out.println(Math.round(1.5));
System.out.println(Math.round(-1.5));
System.out.println(Math.round(0.5));
System.out.println(Math.round(-0.5));
输出:
2
-1
1
0
特殊情况如下:
如果参数为 NaN,那么结果为 0。
如果结果为负无穷大或任何小于等于 Integer.MIN_VALUE 的值,那么结果等于 Integer.MIN_VALUE 的值。
如果参数为正无穷大或任何大于等于 Integer.MAX_VALUE 的值,那么结果等于 Integer.MAX_VALUE 的值。
(向上取整)Math.ceil(double a)返回最小的(最接近负无穷大) double 值,该值大于等于参数,并等于某个整数。特殊情况如下:
如果参数值已经等于某个整数,那么结果与该参数相同。
如果参数为 NaN、无穷大、正 0 或负 0,那么结果与参数相同。
如果参数值小于 0,但是大于 -1.0,那么结果为负 0。
System.out.println(Math.ceil(1.2));
System.out.println(Math.ceil(-1.2));
System.out.println(Math.ceil(0.6));
System.out.println(Math.ceil(-0.6));
输出:
2.0
-1.0
1.0
-0.0-0.0-0.0
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。