产生随机数的三种方式

产生随机数的三种方式

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值