Lanson
V1
2022/12/30阅读:22主题:丘比特忙
大数据必学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 值。
}
}

作者介绍
Lanson
V1
CSDN大数据领域博客专家