Java实用类(五) -Math类和指定范围的随机数
1、Math类
java.lang.Math类提供了常用的数学运算方法和两个静态常量E(自然对数的底数) 和PI(圆周率)
// 绝对值
System.out.println(Math.abs(-3.5)); // 3.5
// 最大值
System.out.println(Math.max(2.5, 90.5));// 90.5
// 随机数
int random = (int) (Math.random() * 10); // 生成一个0-10之间的随机数
// 四舍五入
System.out.println(Math.round(3.45)); // 3
System.out.println(Math.round(3.55)); // 4
// 向上取整(取大于当前数的最小整数)
System.out.println(Math.ceil(3.25)); // 4.0
// 向下取整(取小于当前数的最大整数)
System.out.println(Math.floor(3.25)); // 3.0
注:Math类方法很多,需要使用直接看API文档即可,不需要全部掌握
2、Random类 -- java.util.Random类
//简单介绍使用示例,不需要全部掌握,用到时候查下文档即可
// 创建一个Random对象
Random rand=new Random();
for(int i=0; i<20; i++){
// 随机生成20个随机整数,并显示
int num=rand.nextInt(10);// 返回下一个伪随机数,整型的
System.out.println("第"+(i+1)+"个随机数是:"+num);
}
运行结果
第1个随机数是:4
第2个随机数是:8
第3个随机数是:5
第4个随机数是:3
第5个随机数是:1
第6个随机数是:1
第7个随机数是:1
第8个随机数是:8
第9个随机数是:8
第10个随机数是:7
第11个随机数是:5
第12个随机数是:7
第13个随机数是:9
第14个随机数是:4
第15个随机数是:0
第16个随机数是:5
第17个随机数是:0
第18个随机数是:3
第19个随机数是:8
第20个随机数是:9
3、生成指定范围的随机数
(int)(a + Math.random() * b )——>[a,a + b)
//(int)(a + Math.random() * b )——[a,a + b)
//4~9-->(int)(4 + Math.random() * (10-4)) )——[4,10)
for (int i = 0; i < 20; i++) {
int RandomNum = 0;
//生成0~9的随机整数
RandomNum = (int)( 4+Math.random() * (10-4));
System.out.println("生成的随机数为:"+ RandomNum);
}
运行结果
生成的随机数为:7
生成的随机数为:8
生成的随机数为:6
生成的随机数为:9
生成的随机数为:4
生成的随机数为:5
生成的随机数为:6
生成的随机数为:4
生成的随机数为:6
生成的随机数为:5
生成的随机数为:5
生成的随机数为:6
生成的随机数为:6
生成的随机数为:9
生成的随机数为:5
生成的随机数为:4
生成的随机数为:4
生成的随机数为:7
生成的随机数为:6
生成的随机数为:5
Java实用类(五) -Math类和指定范围的随机数的更多相关文章
- Java数学函数Math类
Java数学函数Math类常用: Math.abs(12.3); //12.3 返回这个数的绝对值 Math.abs(-12.3); //12.3 Math.copySign(1.23, -12.3) ...
- 带有静态方法的类(java中的math类)
带有静态方法的类通常(虽然不一定是这样)不打算被初始化. 可以用私有构造函数来限制非抽象类被初始化. 例如,java中的math类.它让构造函数标记为私有,所以你无法创建Math的实例.但Math类却 ...
- Java常用API(Math类)
Java常用API(Math类) Math类的作用 java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数.类似这样的工具 类,其所有方法均为静态方法,并且 ...
- 6.算法竞赛中的常用JAVA API :Math类(转载)
6.算法竞赛中的常用JAVA API :Math类 求最值 最小值 Math.min(int a, int b) Math.min(float a, float b) Math.min(double ...
- JAVA Number与Math类
Number类: 当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象: 所有的包装类(Integer.Long.Byte.Double.Flo ...
- Java 常用对象-Math类
2017-11-02 21:26:18 Math类:Math 类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. *属性摘要 *常用方法 random() : 返回[0.0,1.0 ...
- java基础23 Math类和Random类
一.Math数学类 主要是提供很多数学的公式 1.1.Math类的常用方法 abs(int a):绝对值 ceil(double a):向上取整 floor(double a):向下取整 ...
- Java学习--使用 Math 类操作数据
使用 Math 类操作数据 Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: M ...
- Java学习之Math类理解
Math类包含用于几何和三角运算的所有浮点函数,以及一些用于通用目的的方法.Math类定义了两个double常量:E(约等于2.72)和PI(约等于3.14) 1.三角函数 表中的方法接收double ...
随机推荐
- Java基础之浅谈集合
Java基础知识.关于List.Set.Map接口的了解,以及ArrayList.LinkedList.HashSet.TreeSet.HashMap.TreeMap...
- C++五子棋(三)——判断鼠标有效点击
分析 在鼠标左键点击时,我们不能让新棋子在已有棋子的位置落下,同时我们还要让棋子在规定位置落下--棋盘线的交点处. 功能实现 创建数据类型 创建头文件chessData.h和源文件chessData. ...
- Prometheus+Grafana安装搭建
介绍 Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB).Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本. 2016年 ...
- i2c调试工具分享
i2c-tools简介 在嵌入式开发仲,有时候需要确认硬件是否正常连接,设备是否正常工作,设备的地址是多少等等,这里我们就需要使用一个用于测试I2C总线的工具--i2c-tools. i2c-tool ...
- Java 线程安全 与 锁
Java 线程安全 与 锁 多线程内存模型 线程私有栈内存 每个线程 私有的内存区域 进程公有堆内存 同一个进程 共有的内存区域 为什么会有线程安全问题? 多个线程同时具有对同一资源的操作权限,又发生 ...
- XCTF练习题---MISC---Test-flag-please-ignore
XCTF练习题---MISC---Test-flag-please-ignore flag:flag{hello_world} 解题步骤: 1.观察题目,下载附件 2.打开文件,发现又是一个没有名字的 ...
- Linux中几个正则表达式的用法
开源Linux 长按二维码加关注~ 上一篇:盘点提高国内访问Github的速度的9种方案 正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列.拥有强大的字符搜索功能.也非常方便的搜索过滤出 ...
- vue3中的四种插槽的介绍-保证让你看看的明明白白!
插槽 当组件中只有一个插槽的时候,我们可以不设置 slot 的 name 属性. v-slot 后可以不带参数,但是 v-slot 在没有设置 name 属性的时候, 插槽口会默认为"def ...
- sklearn机器学习实战-简单线性回归
记录下学习使用sklearn,将使用sklearn实现机器学习大部分内容 基于scikit-learn机器学习(第2版)这本书,和scikit-learn中文社区 简单线性回归 首先,最简单的线性回归 ...
- http缓存策略以及强缓存和协商缓存浅析
http缓存策略以及强缓存和协商缓存浅析 本地缓存-强缓存 本地缓存,也就是我们常说的强缓存:是指当浏览器请求资源时,如果请求服务端的资源命中了浏览器本地的缓存资源,那么浏览器就不会发送真正请求给服务 ...