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) | 按照数字排序排列指定的数组 |