十九、Math和Random类
Random类
Random类型的主要作用,一般我们都是用来生成随机数
代码演示:
package demo;import java.util.Random;public class Test{public static void main(String[] args) {Random random = new Random();for (int i = 0; i < 5; i++) {
System.out.print(random.nextInt(100)+"\t");//生成随机数的范围为[0,100)}}
}
代码讲解:Random类位于java.lang.Random包下,所有我们想使用Random这个类,我们就需要将包导进来才能使用,我们可以看到用法,第一步,先创建Random类的对象,然后在使用random.nextInt(数值)来生成随机数,随机数的范围是从[0,数值),属于前开后闭的区间,即传入100,使用nextInt最大就只能到99。如果我们想生成[1,100]我们可以这么做
System.out.print(random.nextInt(100)+1);
Math类
Math类和名字一样,就是一个提供一些计算方法的工具类,使用也特别简单,提供给我们一些操作数值的方法。
我们先来记一下,下来代码我们用param代表数值的意思
abs(param):求绝对值
param可以是int、float、double、long
代码演示:
package demo;public class MathDemo {public static void main(String[] args) {double num = 95.6;System.out.println(Math.abs(num)); //95.6System.out.println(Math.abs(-10.5)); //10.5}
}
ceil(param):取天花板,即返回数值的较大值
param可以是double
代码演示:
package demo;public class MathDemo {public static void main(String[] args) { System.out.println(Math.ceil(10.7)); //11.0System.out.println(Math.ceil(-50.3)); //-50.0System.out.println(Math.ceil(0.6)); //1.0System.out.println(Math.ceil(0.0)); //0.0System.out.println(Math.ceil(-0.0)); //-0.0}
}
floor(param):取地板,即返回数值的较小值
param可以是double
代码演示:
package demo;public class MathDemo {public static void main(String[] args) { System.out.println(Math.floor(10.7)); //10.0System.out.println(Math.floor(-50.3)); //-51.0System.out.println(Math.floor(0.6)); //0.0System.out.println(Math.floor(0.0)); //0.0System.out.println(Math.floor(-0.0)); //-0.0}
}
max(param1,param2):返回两个数的最大值
param可以是int、float、double、long
如果param前后类型不一致,结果值会有不同,大家可以自己测试一下
代码演示:
package demo;public class MathDemo {public static void main(String[] args) { System.out.println(Math.max(10.0, 20.0)); //20.0}
}
min(param1,param2):返回两个数的最小值
param可以是int、float、double、long
如果param前后类型不一致,结果值会有不同,大家可以自己测试一下
代码演示:
package demo;public class MathDemo {public static void main(String[] args) { System.out.println(Math.min(10.0,20.0)); //10.0} }
round(param):四舍五入
param可以是int、float、double、long
参数为float时,返回int类型;参数为double时,返回long类型;
负数四舍五入,先取绝对值,再四舍五入,然后再加上负号
代码演示:
package demo;public class MathDemo {public static void main(String[] args) { System.out.println(Math.round(50.6)); //51System.out.println(Math.round(23.4f)); //23System.out.println(Math.round(-11.6)); //-12} }
random():返回一个随机数,区间[0,1)
需求:返回十个随机数,范围在1到100之间
代码演示:
package demo;public class MathDemo {public static void main(String[] args) { for (int i = 0; i < 10; i++) {//生成的随机数区间在[0,1),乘100再加1后区间范围是[0,101)//强制转型成int类型后,区间范围[0,100]int ans = (int)(Math.random()*100+1);System.out.print(ans+"\t");}} }
代码结果:
第一次:
55 75 13 99 85 60 64 10 9 91
第二次:
98 67 45 20 20 51 13 85 34 79
第三次:
53 68 56 61 20 61 47 96 7 36
总结点评:我们可以看到Math工具类的所有方法都可以使用类型.方法名(),即Math类的方法都是静态方法。然后方法的功能都可以“见名知意”,根据方法的名字就可以知道功能,Math工具类还是十分方便使用的。
十九、Math和Random类相关推荐
- 小汤学编程之JAVA基础day10——常用类(二):String常用方法、正则、StringBuffer和StringBuilder、Math和Random类、日期类和数字类
一.String常用方法 二.正则表达式 1.基本 2.常用 3.高级 三.StringBuilder和StringBuffer类 1.区别 2.常用方法 3.继承结构 ...
- Java基础(三十五)Math、Random类和数字格式化(String.format方法)
一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...
- java程序 构建mycircle类_Java语言程序设计(十九)对象和类的应用实例
1.我们定义一个Circle类并使用该类创建对象,我们创建三个圆对象,1.0,25和125,然后显示这三个圆的半径和面积,将第二个对象的半径改为100,然后显示它的新半径和面积.程序清单如下: pac ...
- 第十九章 9标签类Label
// 9标签类Label /* //我们知道一个链表由标签,头节点,中间节点和尾节点组成,标签中保存着头节点的地址,头节点的next指针指向中间节点,中间节点的next指针指向了尾节点,因为我们可以将 ...
- 第十九章 7 Data类
// 7 Data类 //因此我们在写一个链表时,首先要考虑这一点,我们知道链表的作用是将无序的数据按一定的次序排列起来,比如说链表中每一个节点均可保存一个或多个数据,我们将各个节点排列好顺序,那么所 ...
- 基于C++代码的UE4学习(四十九)——坦克炮弹类的完整代码
头文件: 1 // Fill out your copyright notice in the Description page of Project Settings.2 3 #pragma onc ...
- 《Erlang程序设计》第十九章 多核小引
第十九章 多核小引 Table of Contents 第十九章 多核小引 第十九章 多核小引 类C语言因为都是基于状态共享的并发, 因此面对共享内存有着绕不过去的锁机制, 而Erlang采用基于消息 ...
- 15.Java-正则表达式、Pattern和Matcher类、Math类、Random类、System类、BigDecimal类、BigInteger类
15.Java-正则表达式.Pattern和Matcher类.Math类.Random类.System类.BigDecimal类.BigInteger类 一.正则表达式的概述和简单使用 A:正则表达式 ...
- 正则表达式、常用类(Pattern类、Matcher类、Math类、System类、Random类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类)
JAVA学习第十六天-正则表达式.常用类(Pattern类.Matcher类.Math类.System类.Random类.BigDecimal类.Date类.SimpleDateFormat类.Cal ...
- Android 中一些常用类的常用方法(Math、Random、Color、Paint、Canvas、Bitmap、BitmapFactory)...
1.java.lang.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E 记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 ...
最新文章
- 老黄狂拼CPU!英伟达掏出800亿晶体管显卡,外加世界最快AI超算Eos
- BZOJ4810: [Ynoi2017]由乃的玉米田
- 透彻,在SpringBoot项目中使用Netty实现远程调用
- 【实用】MB52库存报表转网格格式
- poj 1821(单调队列优化dp)
- HDU 1059 Dividing
- android 4.2修改设置菜单的背景颜色
- UvaOJ10369 - Arctic Network
- 永久居家办公,你愿意吗?
- 打印计算机错误,打印机测试错误 原因administrator解决办法
- i219v微星 驱动_Intel英特尔网卡驱动下载-Intel英特尔I217/I218/I219系列网卡驱动官方版下载[电脑版]-华军软件园...
- 简笔画花边边框超简单_好看的花边边框简笔画
- 杀毒软件需要开源吗?
- 13.爬虫训练场集成文件采集案例,来学习一下怎么实现的
- stm32跑web服务器和协议栈的区别,STM32与LAN9252构建EtherCAT从站(二):使用SSC生成协议栈和XML文件——丁丁的个人网站...
- canvas学习绘制渐变色
- 行走的励志君——选择和努力哪个更重要
- html怎样加粗直线,HTML字型要怎么加粗?
- Python生成 gif 动图
- BIGEMAP中打开高清卫星影像谷歌地球