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类相关推荐

  1. 小汤学编程之JAVA基础day10——常用类(二):String常用方法、正则、StringBuffer和StringBuilder、Math和Random类、日期类和数字类

    一.String常用方法 二.正则表达式 1.基本     2.常用     3.高级 三.StringBuilder和StringBuffer类 1.区别     2.常用方法     3.继承结构 ...

  2. Java基础(三十五)Math、Random类和数字格式化(String.format方法)

    一.Math类 Math类常用的方法: public static long abs (double a) 返回a的绝对值 public static double max (double a,dou ...

  3. java程序 构建mycircle类_Java语言程序设计(十九)对象和类的应用实例

    1.我们定义一个Circle类并使用该类创建对象,我们创建三个圆对象,1.0,25和125,然后显示这三个圆的半径和面积,将第二个对象的半径改为100,然后显示它的新半径和面积.程序清单如下: pac ...

  4. 第十九章 9标签类Label

    // 9标签类Label /* //我们知道一个链表由标签,头节点,中间节点和尾节点组成,标签中保存着头节点的地址,头节点的next指针指向中间节点,中间节点的next指针指向了尾节点,因为我们可以将 ...

  5. 第十九章 7 Data类

    // 7 Data类 //因此我们在写一个链表时,首先要考虑这一点,我们知道链表的作用是将无序的数据按一定的次序排列起来,比如说链表中每一个节点均可保存一个或多个数据,我们将各个节点排列好顺序,那么所 ...

  6. 基于C++代码的UE4学习(四十九)——坦克炮弹类的完整代码

    头文件: 1 // Fill out your copyright notice in the Description page of Project Settings.2 3 #pragma onc ...

  7. 《Erlang程序设计》第十九章 多核小引

    第十九章 多核小引 Table of Contents 第十九章 多核小引 第十九章 多核小引 类C语言因为都是基于状态共享的并发, 因此面对共享内存有着绕不过去的锁机制, 而Erlang采用基于消息 ...

  8. 15.Java-正则表达式、Pattern和Matcher类、Math类、Random类、System类、BigDecimal类、BigInteger类

    15.Java-正则表达式.Pattern和Matcher类.Math类.Random类.System类.BigDecimal类.BigInteger类 一.正则表达式的概述和简单使用 A:正则表达式 ...

  9. 正则表达式、常用类(Pattern类、Matcher类、Math类、System类、Random类、BigDecimal类、Date类、SimpleDateFormat类、Calendar类)

    JAVA学习第十六天-正则表达式.常用类(Pattern类.Matcher类.Math类.System类.Random类.BigDecimal类.Date类.SimpleDateFormat类.Cal ...

  10. Android 中一些常用类的常用方法(Math、Random、Color、Paint、Canvas、Bitmap、BitmapFactory)...

    1.java.lang.Math类常用的常量和方法: Math.PI 记录的圆周率 Math.E 记录e的常量 Math.abs 求绝对值 Math.sin 正弦函数 Math.asin 反正弦函数 ...

最新文章

  1. 老黄狂拼CPU!英伟达掏出800亿晶体管显卡,外加世界最快AI超算Eos
  2. BZOJ4810: [Ynoi2017]由乃的玉米田
  3. 透彻,在SpringBoot项目中使用Netty实现远程调用
  4. 【实用】MB52库存报表转网格格式
  5. poj 1821(单调队列优化dp)
  6. HDU 1059 Dividing
  7. android 4.2修改设置菜单的背景颜色
  8. UvaOJ10369 - Arctic Network
  9. 永久居家办公,你愿意吗?
  10. 打印计算机错误,打印机测试错误 原因administrator解决办法
  11. i219v微星 驱动_Intel英特尔网卡驱动下载-Intel英特尔I217/I218/I219系列网卡驱动官方版下载[电脑版]-华军软件园...
  12. 简笔画花边边框超简单_好看的花边边框简笔画
  13. 杀毒软件需要开源吗?
  14. 13.爬虫训练场集成文件采集案例,来学习一下怎么实现的
  15. stm32跑web服务器和协议栈的区别,STM32与LAN9252构建EtherCAT从站(二):使用SSC生成协议栈和XML文件——丁丁的个人网站...
  16. canvas学习绘制渐变色
  17. 行走的励志君——选择和努力哪个更重要
  18. html怎样加粗直线,HTML字型要怎么加粗?
  19. Python生成 gif 动图
  20. BIGEMAP中打开高清卫星影像谷歌地球

热门文章

  1. thinkphp路径引用问题
  2. 《物流与供应链管理》课程论文
  3. 图像放缩中最近邻插值和双线性插值的基本原理
  4. linux总线控制设备,在platform总线上注册设备并载入驱动控制led灯
  5. 拓端tecdat|Nelsen-Siegel—Svensson扩展模型简介
  6. 拓端tecdat|R语言中Gibbs抽样的Bayesian贝叶斯简单线性回归
  7. zepto.js学习笔记01
  8. 数据结构 第四章 串
  9. mysql id 不连续_MySQL中自增主键不连续之解决方案。(20131109)
  10. python Process类