Java基础之Math和Random类知识总结

 更新时间:2021年05月18日 09:55:13   作者:qq_45671732  
今天带大家来学习java的Math和Random类,文中有非常详细的代码示例及介绍,对正在学习java基础的小伙伴们很有帮助哟,需要的朋友可以参考下

java的Math类

在这里插入图片描述

java中的java.lang.Math类可以直接使用,不需要导包,在JDK的API 中看到Math类被final修饰着,那么说明了这个Math类不能被继承,构造器私有化,不能创建Math类的对象,也就是说

public static void main(String []args){
	Math m = new Math();
}

这种写法是错误的

在这里插入图片描述

Math内部的所有的属性和方法都被static修饰了,这说明在调用的时候直接使用类名.的方式直接调用,无需创建对象。
接下来介绍Math类中的几个常用的方法:

方法 说明 返回值类型
random() 返回带正号的双精度值,大于或等于0.0,小于1.0。 static double
abs() 取数的绝对值,可以是int long double float int / long / double / float
ceil() 向上取值 返回一个double类型
floor() 向下取值 返回一个double类型
round() 四舍五入 返回一个long或者是int类型的值
max()和min() 返回最大值和最小值 返回的值可以是double、float、int、long类型的值
package Test;

public class Test06 {
    public static void main(String[] args) {
        //常用属性:
        System.out.println(Math.PI);
        //常用的方法:
        System.out.println("随机数:" + Math.random());//[0.0,1.0)
        System.out.println("绝对值" + Math.abs(-80));
        System.out.println("向上取值" + Math.ceil(9.1));
        System.out.println("向下取值" + Math.floor(9.9));
        System.out.println("四舍五入" + Math.round(3.5));
        System.out.println("取大的那个值" + Math.max(3, 6));
        System.out.println("取小的那个值" + Math.min(3, 6));
    }
}

同样Math类可以使用静态导入的方式,直接导入Math类的所有方法和属性

package Test;
//静态导入

import static java.lang.Math.*;

public class Test07 {
    public static void main(String[] args) {
        //常用属性:
        System.out.println(PI);
        //常用的方法:
        System.out.println("随机数:" + random());//[0.0,1.0)
        System.out.println("绝对值" + abs(-80));
        System.out.println("向上取值" + ceil(9.1));
        System.out.println("向下取值" + floor(9.9));
        System.out.println("四舍五入" + round(3.5));
        System.out.println("取大的那个值" + max(3, 6));
        System.out.println("取小的那个值" + min(3, 6));
    }
    //如果和Math中的方法重复了,程序会优先选择本类的方法,这就是就近原则
    public static int random(){
        return 100;
    }
}

java的Random类

在这里插入图片描述

Random类在java.util.Random中

Random类的常用方法:

方法 说明
nextInt() 返回此随机数生成器序列中的下一个伪随机、均匀分布的int值。
nextDouble() 返回此随机数生成器序列中的下一个伪随机、均匀分布的介于0.0和1.0之间的双精度值。
package Test;

import java.util.Random;

public class Test08 {
    public static void main(String[] args) {
        System.out.println("随机数" + Math.random());
        //学习Random类
        //利用带参数的构造器创建对象
        Random r1 = new Random(System.currentTimeMillis());
        int i = r1.nextInt();
        System.out.println(i);
        //利用空参构造器创建对象
        Random r2 = new Random();//表面是在调用无参构造器,实际上底层还是调用了带参构造器
        System.out.println(r2.nextInt(10));
        System.out.println(r2.nextDouble());
    }
}

到此这篇关于Java基础之Math和Random类知识总结的文章就介绍到这了,更多相关java的Math和Random类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于RowBounds分页原理、RowBounds的坑记录

    关于RowBounds分页原理、RowBounds的坑记录

    这篇文章主要介绍了关于RowBounds分页原理、RowBounds的坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • window下安装和配置maven环境

    window下安装和配置maven环境

    这篇文章主要为大家详细介绍了window下安装和配置maven环境的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Netty解决 TCP 粘包拆包的方法

    Netty解决 TCP 粘包拆包的方法

    处理粘包的唯一方法就是制定应用层的数据通讯协议,通过协议来规范现有接收的数据是否满足消息数据的需要,本文给大家介绍Netty解决 TCP 粘包拆包的方法,需要的朋友一起看看吧
    2021-07-07
  • MAC下基于maven使用IDEA走读TestNG源码解析

    MAC下基于maven使用IDEA走读TestNG源码解析

    这篇文章主要介绍了MAC下基于maven使用IDEA走读TestNG源码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-06-06
  • 超详细讲解SpringCloud Commons公共抽象的用法

    超详细讲解SpringCloud Commons公共抽象的用法

    这篇文章主要介绍了超详细讲解SpringCloud Commons公共抽象的用法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 解决Spring配置文件中bean的property属性中的name出错问题

    解决Spring配置文件中bean的property属性中的name出错问题

    这篇文章主要介绍了解决Spring配置文件中bean的property属性中的name出错问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • java使用ffmpeg处理视频的方法

    java使用ffmpeg处理视频的方法

    这篇文章主要介绍了java使用ffmpeg处理视频的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • Java实现常见排序算法的优化

    Java实现常见排序算法的优化

    今天给大家带来的是关于Java的相关知识,文章围绕着Java实现常见排序算法的优化展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-01-01
  • 详解mybatis generator代码生成器的使用

    详解mybatis generator代码生成器的使用

    MyBatis Generator(MBG)是MyBatis MyBatis 和iBATIS的代码生成器。这篇文章主要介绍了mybatis generator代码生成器的使用,需要的朋友可以参考下
    2021-09-09
  • 如何在spring事务提交之后进行异步操作

    如何在spring事务提交之后进行异步操作

    这篇文章主要为大家介绍了如何在spring事务提交之后进行异步操作,这些异步操作必须得在该事务成功提交后才执行,回滚则不执行,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2023-09-09

最新评论