Math类的常用方法
方法名 | 说明 |
---|---|
public static int abs(int a) |
返回参数的绝对值 |
public static double ceil(double a) |
向上取整 |
public static double floor(double a) |
向下取整 |
public static int round(float a) |
四舍五入 |
public static int max(int a,int b) |
返回两个int值中的较大值 |
public static int min(int a,int b) |
返回两个int值中的较小值 |
public static double pow(double a,double b) |
返回a的b次幂的值 |
public static double random() |
返回值为double的正值,[0.0,1.0) |
System类的常用方法
方法名 | 说明 |
---|---|
public static void exit(int status) |
终止当前运行的Java虚拟机,非零表示异常终止 |
public static long currentTimeMillis() |
返回当前时间(以毫秒为单位) |
arraycopy(数据源数组, 起始索引, 目的地数组, 起始索引 拷贝个数) |
数组copy |
Object类的常用方法
结论
- Object类是所有类的直接或者间接父类
- 直接打印一个对象就是打印这个对象的toString方法的返回值
- Object类的toString方法得到的是对象的地址值
- 我们一般会对toString方法进行重写
| 方法名 | 说明 |
| —- | —- |
|
public String toString()
| 返回对象的字符串表示形式,建议所有的子类重写该方法,自动生成 | |public boolean equals(另一个对象)
| 比较对象是否相等。默认比较地址,重写可以比较内容,自动生成 |
Object面试题
public class EqualsTest {
public static void main(String[] args) {
String s1 = "abc";
StringBuilder sb = new StringBuilder(s1);
System.out.println(s1.equals(sb));//false
//1.此时调用的是String类中的equals方法
//需要保证传入参数也是字符串,否则不会比较属性值而直接返回false
System.out.println(sb.equals(s1));//false
//2.StringBuilder类中是没有重写equals方法,用的就是Object类中的,所以比较的是地址值
}
}
Objects类的常用方法
方法名 | 说明 |
---|---|
public static String toString(对象) |
返回参数中对象的字符串表示形式 |
public static String toString(对象,默认字符串) |
返回对象的字符串表示形式,如果对象为空,返回默认字符串 |
public static Boolean isNull(对象) |
判断对象是否为空 |
public static Boolean nonNull(对象) |
判断对象是否不为空 |
BigDecimal类的构造方法
BigDecimal(double val)
BigDecimal(String val)
需要精确运算,请使用这种构造方法
BigDecimal类的常用方法
方法名 | 说明 |
---|---|
public BigDecimal add(另一个BigDecimal对象) |
加法 |
public BigDecimal subtract(另一个BigDecimal对象) |
减法 |
public BigDecimal multiply(另一个BigDecimal对象) |
乘法 |
public BigDecimal divide(另一个BigDecimal对象) |
除法 |
public BigDecimal divide(另一个BigDecimal对象,小数点后精确到多少位,舍入模式) |
除法 |
结论
- BigDecimal是用来进行精确计算的
- 创建BigDecimal的对象,构造方法使用参数类型为字符串的
- 四则运算中的除法,如果除不尽请使用divide的三个参数的方法
代码示例:public BigDecimal divide(另一个BigDecimal对象,小数点后精确到多少位,舍入模式)
参数1,表示参与运算的DigDecimal对象
参数2,表示小数点后面精确到多少位
参数3,舍入模式
BigDecimal.ROUND_UP
进一法BigDecimal.ROUND_FLOOR
去尾法BigDecimal.ROUND_HALF_UP
四舍五入法基本数据类型的包装类
将基本数据类型封装成对象
好处在于可以在对象中定义更多的功能方法操作该数据
常用操作之一:用与基本数据类型与字符串之间的转换
基本数据类型 | 包装类 |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
char | Character |
boolean | Boolean |
Integer类的概述和使用
Integer:该对象中包装了一个基本数据类型int的值
方法名 | 说明 |
---|---|
public Integer(int value) |
根据int值创建Integer对象(过时) |
public Integer(String s) |
根据String值创建Integer对象(过时) |
public static Integer valueOf(int i) |
返回表示指定的int值的Integer实例 |
public static Integer valueOf(String s) |
返回一个保存指定值的Integer对象String |
自动装箱和自动拆箱
- 装箱:把基本数据类型转换为对应的包装类类型
- 拆箱:把包装类类型转换为对应的基本数据类型
注意:在使用包装类类型的时候,如果操作,最好先判断是否为null
推荐:只要是对象,在使用前就必须进行不为null的判断
public class MyIntegerDemo1 {
public static void main(String[] args) {
Integer i = 100;
i += 100; // i = i + 100; i + 100 自动拆箱;i = i + 100 自动装箱
System.out.println(i);
}
}
int和String的相互转换
基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换
1.int转换为String
方式一:加双引号即可
方式二:public static String valueOf(int i)
:返回int参数的字符串表示形式。该方法是String类中的方法
2.String转换为int
public static int parseInt(String s)
:将字符串解析为int类型。该方法是Integer类中的方法