大数据必学Java基础四十九:Math类和Random类的讲解

Math类和Random类的讲解

一、Math类

【1】直接使用,无需导包

【2】final修饰类,这个类不能被继承

【3】构造器私有化,不能创建Math类的对象

不能

【4】Math内部的所有的属性,方法都被static修饰:类名.直接调用,无需创建对象

【5】常用方法

package com.lanson.test03;

/**
 * @Auther: lanson
 */
public class Test01 {
    //这是一个main方法,是程序的入口:
    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));
    }
}

【6】静态导入

package com.lanson.test03;
//静态导入:
import static java.lang.Math.*;
/**
 * @Auther: lanson
 */
public class Test01 {
    //这是一个main方法,是程序的入口:
    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;
    }
}

二、Random类

package com.lanson.test03;

import java.util.Random;

/**
 * @Auther: lanson
 */
public class Test02 {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
        //返回带正号的 double 值,该值大于等于 0.0 且小于 1.0。
        System.out.println("随机数:"+Math.random());

        //学习Random类
        //(1)利用带参数的构造器创建对象:
        Random r1 = new Random(System.currentTimeMillis());
        int i = r1.nextInt();
        System.out.println(i);

        //(2)利用空参构造器创建对象:
        Random r2 = new Random();//表面是在调用无参数构造器,实际底层还是调用了带参构造器
        System.out.println(r2.nextInt(10));//在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
        System.out.println(r2.nextDouble());//在 0.0 和 1.0 之间均匀分布的 double 值。
    }
}

相关文章

摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠...
今天犯了个错:“接口变动,伤筋动骨,除非你确定只有你一个...
Writer :BYSocket(泥沙砖瓦浆木匠)微 博:BYSocket豆 瓣:...
本文目录 线程与多线程 线程的运行与创建 线程的状态 1 线程...