当前位置: 首页 > news >正文

Java--Math类和Random类

1.Math类简介

1.Math类中提供了大量用于数学运算的相关方法。
2.Math类是使用final修饰的终结类,不能产生子类
3.Math类中的方法都是static修饰的静态方法,可以通过类名.方法名直接调用

2.Math常用方法

1.abs(int):求绝对值(int,long,float,double做为参数)
2.ceil(double):求大于等于给定值的最小整数值,以double类型返回
3.floor(double):求小于等于给定值的最大整数值,以double类型返回
4.max(int,int):求两个数字中最大的值(int long float double做为参数)
5.min(int,int):求两个数字中最小的值(int long float double做为参数)
6.random():获取一个0到1之间的随机小数
7.round(float|double):返回int或long,采用四舍五入法,获取最接近的整数值
8.sqrt(double):获取平方根,如果传值为负数,返回NaN
9.pow(double,double):求一个数的N次方
10.sin(double)/cos(double)/tan(double):获取给定弧度值的三角函数值

 看看案例

public class Test {public static void main(String[] args) {System.out.println(Math.abs(5));double ceil = Math.ceil(-3.5);System.out.println(ceil);double floor = Math.floor(-3.5);System.out.println("floor = " + floor);int max = Math.max(12, 5);System.out.println("max = " + max);int min = Math.min(12, 5);System.out.println("min = " + min);double d=3.5415;long round = Math.round(d);System.out.println(round);int x=-2;double sqrt = Math.sqrt(x);System.out.println(sqrt);//Not a Numberdouble pow = Math.pow(5, 3);System.out.println("pow = " + pow);}
}

运行结果

 

3.Random类

3.1Random简介

ava.util下有一个Random类,根据随机算法的起源数字(种子)进行一些迭代变化,来产生随机数。
虽然Random类产生的数字是随机的,但在相同种子数下的相同次数产生的随机数是相同的(伪随机数)

3.2Random构造方法

Random():以系统自身的时间为种子类来构造Random对象
Random(long):可以自己来选定具体的种子数来构造Random对象

3.3Random常用方法

nextInt():获取int类型的随机数
nextInt(int):获取0(包含)到给定值(不包含)之间的随机数
nextlong():获取long类型的随机数
nextfloat():获取一个随机单精度浮点数0到1之间
nextDouble():获取一个随机双精度浮点数 0到1之间
nextBoolean(): 返回一个随机boolean类型的值,true或false,概率相同

案例

public class Test {public static void main(String[] args) {Random random=new Random();int i=random.nextInt();System.out.println(i);//伪随机数验证Random random1=new Random(100);Random random2=new Random(100);int num=random.nextInt();int num1=random1.nextInt();System.out.println("num = " + num);System.out.println("num1 = " + num1);Random random3=new Random();int i1=random.nextInt(2);//获取一个0(包含)到2(不包含)之间的数字System.out.println(i);long l = random.nextLong();System.out.println("l = " + l);float v = random.nextFloat();double v1 = random.nextDouble();float v2 = random.nextFloat();System.out.println("v = " + v);double v3 = random.nextGaussian();boolean b = random.nextBoolean();System.out.println(b);}
}

 

运行结果

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【设计模式】面向对象与UML
  • uni-app加持下的Vue开发:效率与功能的双赢
  • requests库的常用方法
  • 数据结构--第七章--树和二叉树
  • 调研管理系统的设计
  • odoo15升级odoo16遇到的问题及解决过程
  • 关于fedora中的wheel组
  • spring boot使用自定义注解做AOP
  • 短剧系统开发步骤需求设计方案逻辑
  • mosquitto工具使用
  • 如何提高逻辑性?(小妙招)
  • 【Java面试】十六、并发篇:线程基础
  • 企业微信hook接口协议,ipad协议http,取消扫码返回
  • EXCEL从图片链接获取图片
  • 分布式光纤测温DTS与红外热成像系统的主要区别是什么?
  • JavaScript HTML DOM
  • Java深入 - 深入理解Java集合
  • k8s 面向应用开发者的基础命令
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • Vim 折腾记
  • webpack项目中使用grunt监听文件变动自动打包编译
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 给Prometheus造假数据的方法
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 观察者模式实现非直接耦合
  • 双管齐下,VMware的容器新战略
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 学习笔记TF060:图像语音结合,看图说话
  • 阿里云重庆大学大数据训练营落地分享
  • 如何在招聘中考核.NET架构师
  • ​​​​​​​​​​​​​​Γ函数
  • ## 基础知识
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #每日一题合集#牛客JZ23-JZ33
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • $.ajax()
  • (2024,RWKV-5/6,RNN,矩阵值注意力状态,数据依赖线性插值,LoRA,多语言分词器)Eagle 和 Finch
  • (21)起落架/可伸缩相机支架
  • (70min)字节暑假实习二面(已挂)
  • (C#)一个最简单的链表类
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (pytorch进阶之路)扩散概率模型
  • (独孤九剑)--文件系统
  • (二)springcloud实战之config配置中心
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (黑马点评)二、短信登录功能实现
  • (六)软件测试分工
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .gitignore文件忽略的内容不生效问题解决
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET Core 实现 Redis 批量查询指定格式的Key
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution