浅谈java中Math.random()与java.util.random()的区别
今天突然想起来,java产生随机数的问题,上机试了一下,找到了一点区别,在这里总结一下;
直接调用Math.random()是产生一个[0,1)之间的随机数,
如果用
java.util.Random random=new Random();random.nextInt()
这样产生一个长整型的随机数并且与上一次是一样的,如果过一会再产生就不会一样了,例如:
for (int i = 0; i < 10; i++) {
Random random=new Random();
Thread.sleep(100);
System.out.print((int)random.nextInt(100)+" ");
}
就是产生不同的随机Long数了
如果想用java.util.Random()产生指定范围的随机数就需要进行求模运算,进行一些处理。
同样 可以random.nextInt(100)产生100以内的随机数。一般最好用nextInt(范围)的,如果不是大量的运算的话,就可以用Math.random了,(因为他可以运算起来慢一些,浮点之后再取整)
以上这篇浅谈java中Math.random()与java.util.random()的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
SpringBoot Knife4j框架&Knife4j的显示内容的配置方式
Knife4j框架是基于Swagger2开发的在线API文档生成工具,主要功能包括自动生成API文档、接口文档展示、接口测试工具、接口权限控制和在线调试,该框架支持通过注解自动生成详细的接口文档,开发者可以直接在文档界面进行接口测试和调试2024-09-09
如何基于SpringSecurity的@PreAuthorize实现自定义权限校验方法
spring Security提供有若干个过滤器,它们能够拦截Servlet请求,并将这些请求转给认证和访问决策管理器处理,从而增强安全性,下面这篇文章主要给大家介绍了关于如何基于SpringSecurity的@PreAuthorize实现自定义权限校验方法的相关资料,需要的朋友可以参考下2023-03-03


最新评论