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类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java 模拟cookie登陆简单操作示例

    Java 模拟cookie登陆简单操作示例

    这篇文章主要介绍了Java 模拟cookie登陆简单操作,结合实例形式分析了Java 模拟cookie登陆的相关原理与基本实现技巧,需要的朋友可以参考下
    2020-03-03
  • java分治思想之ForkJoin详解

    java分治思想之ForkJoin详解

    这篇文章主要为大家介绍了java分治思想之ForkJoin使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • MyBatis handleResultSet结果集解析过程示例

    MyBatis handleResultSet结果集解析过程示例

    这篇文章主要为大家介绍了MyBatis handleResultSet结果集解析过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • java 使用foreach遍历集合元素的实例

    java 使用foreach遍历集合元素的实例

    这篇文章主要介绍了java 使用foreach遍历集合元素的实例的相关资料,这里提供实例帮助大家理解如何使用foreach 进行遍历,希望能帮助到大家,
    2017-08-08
  • Java使用FTP上传文件并模拟接受的方法

    Java使用FTP上传文件并模拟接受的方法

    这篇文章主要介绍了Java使用FTP上传文件并模拟接受的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • SpringBoot整合Liquibase实现对数据库管理和迁移

    SpringBoot整合Liquibase实现对数据库管理和迁移

    Liquibase是一个用于用于跟踪、管理和应用数据库变化的开源工具,通过日志文件(changelog)的形式记录数据库的变更(changeset),然后执行日志文件中的修改,将数据库更新或回滚(rollback)到一致的状态,本文主要介绍SpringBoot与Liquibase的集成,需要的朋友可以参考下
    2024-11-11
  • java计算工作时间除去节假日以及双休日

    java计算工作时间除去节假日以及双休日

    这篇文章主要为大家详细介绍了java计算工作时间除去节假日以及双休日的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 快速入门介绍Java中强大的String.format()

    快速入门介绍Java中强大的String.format()

    这篇文章主要给大家介绍了如何快速入门介绍Java中强大的String.format()的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03
  • 如何设置springboot启动端口

    如何设置springboot启动端口

    spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境。下面给大家介绍springboot启动端口的设置方法和spring boot创建应用端口冲突8080 问题,感兴趣的朋友一起看看吧
    2017-08-08
  • JAVA算法起步之堆排序实例

    JAVA算法起步之堆排序实例

    这篇文章主要介绍了JAVA算法起步之堆排序实例,需要的朋友可以参考下
    2014-02-02

最新评论