Java常用类

Math类

Math包含执行基本数字运算的方法

注:类似Math类的工具类中不是没有构造方法,而是构造方法被private修饰,无法实例化对象。但其所有方法(属性)都是静态的。都可以利用类名.方法(属性)的方式调用

Math类的常用方法

方法名说明
int abs(int)返回参数的绝对值
double ceil(double a )返回大于或等于参数的最小double值,等于一个整数(向上取整)
double floor(double a)返回小于或等于参数的最小double值,等于一个整数(向下取整)
int round(float a)按照四舍五入返回最接近参数的int
int max(int a, int b)返回两个int中的较大值
int min(int a, int b)返回两个int中的较小值
double pow(double a, double b)返回a的b次幂的值
double random()返回值为double的正值 , [0.0,1.0)(取随机数)

注:如果想取1~100的随机数,可以先调用方法乘100之后用int进行强制类型转换

(int)(Math.random() * 100) + 1; //方法是取0~99所以要加1

System类

System类也是工具类,无法实例化对象

System类的常用方法

方法名说明
void exit(int status)终止当前运行的Java虚拟机,非零表示异常终止
long currentTimeMillis()返回当前时间(以毫秒为单位)1970年距今的毫秒值
System.currentTimeMillis() * 1.0 / 1000 / 60 / 60 / 24 / 365; //1970距今有多少年

利用System.currentTimeMillis();方法实现记录整个循环所有时间为多少毫秒

public class Test {
    public static void main(String[] args) {
        long start = System.currentTimeMillis(); //记录for循环开始时间
        for (int i = 0; i < 10000; i++) {
            System.out.println(i);
        }
        long end = System.currentTimeMillis(); //记录for循环结束时间
        System.out.println(end - start); //输出for所用时间
    }
}

Object类

类Object是所有类的超类,所有类都直接的或者间接的继承Object类

Object类中有构造方法

toString方法

调用方法:对象a.toString();

toString方法会默认返回:全类名(包名+类名)+@+哈希值的十六进制

 public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

通常情况下,我们经常会在类中重写toString方法来输出该对象的属性

在idea中,用户可以通过快捷键alt+Insert键快速重写toString方法

重写后,可以通过调用toString方法来对对象的属性进行输出


equals方法

调用方法,对象a.equals(对象b);

equals方法会默认对比两个对象的地址值是否相等(引用类型)

public boolean equals(Objects obj){
		return (this == obj);
   }

如果想让equals方法对比两个对象的属性值是否相等,需要在类中重写equals方法

在idea中,用户可以通过快捷键alt+Insert键快速重写equals方法

重写后,可以调用equals方法来对比属性值是否相等


Arrays类

Arrays类包含用于操作数组的各种方法

Arryas也是工具类,不能实例化对象

Arrays类的常用方法

方法名说明
String toString(int[] a)返回指定数组的内容的字符串表现形式
void sort(int[] a)按照数字排序排列指定的数组