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类的常用方法

结论

  1. Object类是所有类的直接或者间接父类
  2. 直接打印一个对象就是打印这个对象的toString方法的返回值
  3. Object类的toString方法得到的是对象的地址值
  4. 我们一般会对toString方法进行重写 | 方法名 | 说明 | | —- | —- | | public String toString() | 返回对象的字符串表示形式,建议所有的子类重写该方法,自动生成 | | public boolean equals(另一个对象) | 比较对象是否相等。默认比较地址,重写可以比较内容,自动生成 |

Object面试题

  1. public class EqualsTest {
  2. public static void main(String[] args) {
  3. String s1 = "abc";
  4. StringBuilder sb = new StringBuilder(s1);
  5. System.out.println(s1.equals(sb));//false
  6. //1.此时调用的是String类中的equals方法
  7. //需要保证传入参数也是字符串,否则不会比较属性值而直接返回false
  8. System.out.println(sb.equals(s1));//false
  9. //2.StringBuilder类中是没有重写equals方法,用的就是Object类中的,所以比较的是地址值
  10. }
  11. }

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对象,小数点后精确到多少位,舍入模式) 除法

结论

  1. BigDecimal是用来进行精确计算的
  2. 创建BigDecimal的对象,构造方法使用参数类型为字符串的
  3. 四则运算中的除法,如果除不尽请使用divide的三个参数的方法

代码示例:
public BigDecimal divide(另一个BigDecimal对象,小数点后精确到多少位,舍入模式)
参数1,表示参与运算的DigDecimal对象
参数2,表示小数点后面精确到多少位
参数3,舍入模式

  1. BigDecimal.ROUND_UP 进一法
  2. BigDecimal.ROUND_FLOOR去尾法
  3. 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的判断

  1. public class MyIntegerDemo1 {
  2. public static void main(String[] args) {
  3. Integer i = 100;
  4. i += 100; // i = i + 100; i + 100 自动拆箱;i = i + 100 自动装箱
  5. System.out.println(i);
  6. }
  7. }

int和String的相互转换

基本类型包装类的最常见操作就是:用于基本类型和字符串之间的相互转换

1.int转换为String

方式一:加双引号即可
方式二:public static String valueOf(int i):返回int参数的字符串表示形式。该方法是String类中的方法

2.String转换为int

public static int parseInt(String s):将字符串解析为int类型。该方法是Integer类中的方法