math、random

简介: math、random

Math类

  • Math.PI——圆周率
  • Math.E——e的常量
  • Math.abs——求绝对值
  • Math.sin/asin/cos/acos/tan/atan/atan2 正弦/反正弦/余弦/反余弦/正切/反正切/商的反正切
  • Math.toDegrees 弧度转化角度 Math.toRadians 角度转化为弧度
  • Math.ceil——返回这个数四舍五入(入)后的最大值 double类型

System.out.println(Math.ceil(-10.1));//-10.0

System.out.println(Math.ceil(10.7)); //11.0

 

  • Math.floor——返回这个数四舍五入(舍)后的最小值

System.out.println(Math.ceil(-10.1));//-11.0

System.out.println(Math.ceil(10.7)); //10.0

  • Math.IEEEremainder——求余
  • Math.max/min——最大最小
  • Math.sqrt——计算平方根
  • Math.cbrt——计算立方根
  • Math.pow(num,i)——求n的i次方
  • Math.exp——求e的任意次方
  • Math.log10——以10为底的对数
  • Math.rint——四舍五入,返回double
  • .5的时候会取偶数

System.out.println(Math.rint(10.1)); //10.0

System.out.println(Math.rint(10.7)); //11.0

System.out.println(Math.rint(11.5)); //12.0 取偶数

System.out.println(Math.rint(10.5)); //10.0 取偶数

System.out.println(Math.rint(10.51)); // 11.0

System.out.println(Math.rint(10.5)); // -10.0 取偶数

  • Math.round——四舍五入,float时返回int型,double时返回long型

System.out.println(Math.round(10.51)); //11

 

//  注意: 大于五全部加,等于五正数加,小于五全不加

System.out.println(Math.round(-10.5)); //-10

 

System.out.println(Math.round(-10.51)); //-11

System.out.println(Math.round(-10.2)); // -10

  • Math.random——返回0,1之间的随机数 double

4、Random类

java.lang.Math.Random

  • 调用Math.Random()可以返回带正号的double值,该值[0.0,1.0)

publicstaticvoidmain(String[] args) {

   // 结果是个double类型的值,区间为[0.0,1.0)

   System.out.println("Math.random()="+Math.random());

   intnum= (int) (Math.random() *3);

   // 取值范围变成了[0,3)

   // 注意不要写成(int)Math.random()*3,这个结果为0或1,因为先执行了强制转换

   System.out.println("num="+num);

}

//结果

//Math.random()=0.44938147153848396

//num=1

java.util.Random类

  • 可以产生boolean、int、long、double、byte数组的随机数
  • 重子数相同的Random对象生成的随机数序列一样
  • Random():创建一个新的随机数生成器,使用一个和系统时间相对应的数字作为种子数
  • Random(long seed):使用单个long种子创建一个新的随机数生成器(在创建对象的时候可以给定任意一个合法的种子数,种子数只是随机算法的起源数字,和生成的随机数的区间没有任何关系)

publicstaticvoidmain(String[] args) {

   Randomrand=newRandom();

   inti=rand.nextInt(100); // 随机生成[0,100)的int整数

   System.out.println(i);

}

  • nextDouble()  nextInt()  nextBoolean() nextLong() nextFloat()等方法同理
  • nextBytes(byte[] bytes):生成随机字节并将其置于用户提供的 byte 数组中。

publicstaticvoidmain(String[] args) {

   Randomran1=newRandom(25);

   System.out.println("使用种子为25的Random对象生成[0,100)内随机整数序列: ");

   for (inti=0; i<10; i++) {

       System.out.print(ran1.nextInt(100) +" ");

   }

   System.out.println();

 

   // 使用相同种子的Random对象,生成的随机数序列一样

   Randomran2=newRandom(25);

   System.out.println("使用种子为25的Random对象生成[0,100)内随机整数序列: ");

   for (inti=0; i<10; i++) {

       System.out.print(ran2.nextInt(100) +" ");

   }

   System.out.println();

}

  • void setSeed(long seed)重新设置一个long类型的Random对象的种子数
相关文章
|
数据采集 Web App开发 XML
爬虫进阶:Selenium与Ajax的无缝集成
爬虫进阶:Selenium与Ajax的无缝集成
|
Java
Java SpringBoot 7z 压缩、解压
Java SpringBoot 7z 压缩、解压
373 1
【题解】NowCoder BC153 [NOIP2010]数字统计
【题解】NowCoder BC153 [NOIP2010]数字统计
107 6
|
Kubernetes 应用服务中间件 nginx
Kubernetes详解(六)——Pod对象部署和应用
在Kubernetes系列中,本文聚焦Pod对象的部署和管理。首先,通过`kubectl run`命令创建Pod,如`kubectl run pod-test --image=nginx:1.12 --port=80 --replicas=1`。接着,使用`kubectl get deployment`或`kubectl get pods`查看Pod信息,添加`-o wide`参数获取详细详情。然后,利用Pod的IP地址进行访问。最后,用`kubectl delete pods [Pod名]`删除Pod,但因Controller控制器,删除后Pod可能自动重建。了解更多细节,请参阅原文链接。
390 5
|
人工智能 架构师
《一本书讲透 Elasticsearch》荣登当当人工智能新书榜
《一本书讲透 Elasticsearch》荣登当当人工智能新书榜
|
XML 存储 SQL
如何用IDEA创建第一个Mybatis程序
如何用IDEA创建第一个Mybatis程序
346 0
|
测试技术 语音技术
天猫精灵开放平台语音识别测试体验
天猫精灵目前来讲不够聪明,“呆头呆脑”,语音识别能够帮助天猫精灵更聪明,但目前还受到较多限制。
1461 0
天猫精灵开放平台语音识别测试体验
|
存储 语音技术 芯片
编译原理期末题型
编译原理期末题型
306 0
编译原理期末题型
mac上安装Homebrew及一些报错的处理
mac上安装Homebrew及一些报错的处理
628 0
|
Python 数据采集 机器人
12知识点+20干货案例+110面试题,助你拿offer!| Python工程师面试宝典
在2020阿里云峰会上,阿里云智能总裁张建锋表示,阿里云今年再招5000人,大规模引进顶尖科技人才。7月9日 19:00-21:30 阿里云开发者社区首场“Offer 5000”直播开启!15位团队技术大牛在线招人,《阿里云技术面试红宝书》助你拿下Offer!马上投递简历: https://developer.aliyun.com/special/offerday01,在此,小编奉上Python工程师面试宝典,帮你拿下好工作!
14952 0
12知识点+20干货案例+110面试题,助你拿offer!| Python工程师面试宝典