产生随机数的三种方式
1Math.random()
Math.random()产生[m----n)的随机数适用于整数,如果用于小数可能丢失精度
(Math.random()*(n-m)+m
2Random()
Random类
1.在java.util中的类
2.默认继承Object类
3.UUID
//UUID类 所属的包java.util
// 1.默认继承Object类
代码比较:
public class RanMath {
public static void main(String[] args) {
// Math.random()产生[m----n)的随机数适用于整数,如果用于小数可能丢失精度
// (Math.random()*(n-m)+m
// Math.random()随机产生一个【0.0--1.0)
// 随机产生0--9之间的随机整数
int value = (int) (Math.random() * 10);
System.out.println("Math.random()随机产生的值" + value);
// 如随机产生5.0--10.9之间的小数
// (Math.random()*6)+5
// 0.0---0.9999*6
// (0.0---5.49999)+5损失精度
// Random类
// 1.在java.util中的类
// 2.默认继承Object类
Random random = new Random();
int value1 = random.nextInt();//随机产生一个整数
System.out.println("random随机产生取值范围的数" + value1);//-2147483648-----2147483647
int result = random.nextInt(10);//[0---10)
System.out.println("random随机产生自己规定的范围的数" + result);
float fvalue = random.nextFloat();
System.out.println("random随机产生fvalue的值" + fvalue);//[0.0---1.0)
//5.0---10.9范围
float fvalue1 = random.nextFloat() * 6 + 5;
System.out.println("random随机产生小数" + fvalue1);
//UUID类 所属的包java.util
// 1.默认继承Object类
UUID uuid = UUID.randomUUID();
System.out.println("uuid随机产生" + uuid.toString());//可能用于数据库表格主键primary key
/* long timestamp = uuid.timestamp();
System.out.println("uuid产生时间"+timestamp);*/
UUID uid = UUID.randomUUID();//获得uuid
String uuidPreplan = uid.toString();//变成String
//获得当前时间,
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//转化为数据库存储的Timestamp格式
Timestamp t = Timestamp.valueOf(sdf.format(System.currentTimeMillis()));
System.out.println("转化为Timestamp:" + t);
//转化为String格式
Date d = new Date();
String time = sdf.format(d);
System.out.println("转化为String:" + time);
}
}
运行结果
Math.random()随机产生的值7
random随机产生取值范围的数-1138845302
random随机产生自己规定的范围的数7
random随机产生fvalue的值0.14035362
random随机产生小数5.731727
uuid随机产生cf78d862-4927-4f21-9295-a65691172e39
转化为Timestamp:2019-11-21 22:41:01.0
转化为String:2019-11-21 22:41:01