1 常用API

1.1 Math

1.1.1 Math类概述

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

没有构造方法,如何使用类中的成员呢?

看类的成员是否都是静态的,如果是,通过类名就可以直接调用。

1.1.2 Math类的常用方法

方法名说明
public static int abs(int a)返回参数的绝对值
public static double ceil(double a)返回大于或等于参数的最小double值,等于一个整数
public static double floor(double a)返回小于或等于参数的最小double值,等于一个整数
public static int round(float a)按照四舍五入返回最接近参数的int
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)

2 System

2.1 System类概述

System包含几个有用的类字段和方法,它不能被实例化

方法名说明
public static void exit(int status)终止当前运行的Java虚拟机,非零表示异常终止
public static void currentTimeMillis()返回当前时间(以毫秒为单位)

3 Object

3.1 Object类概述

Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或间接的继承该类。

构造方法:public Object()

回想面向对象中,为什么说子类的构造方法默认访问的是父类的无参构造方法?
因为它们的顶级父类只有无参构造方法

3.2 Object类的常用方法

方法名说明
public String toString()返回对象的字符串表示形式,建议所有子类重写该方法,自动生成
public boolean equals(Object obj)比较对象是否相等。默认比较地址,重写可以比较内容,自动生成

4 Arrays

4.1 冒泡排序

排序: 将一组数据按照固定的规则进行排列

冒泡排序: 一种排序方式,对要进行的排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按照要求完成排序。

  • 如果有n个数据进行排序,总共需要比较n-1次
  • 每一次比较完毕,下一次的比较就会少一个数据参与

4.2 Arrays类的概述和常用方法

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

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

工具类的设计思想:

  • 构造方法用private修饰

  • 成员用public static修饰

5 基本类型包装类

5.1 基本类型包装类概述

将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据

常用的操作之一: 用于基本数据类型与字符串之间的转换

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

5.2 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

5.3 int和String的相互转换

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

  1. int转换为String

    • public static String valueOf(int i): 返回int 参数的字符串表示形式。该方法是String类中的方法
    • 也可通过"" + i转换为String类型(不推荐)
  2. String转换为int
    • public static int parseInt(String s): 将字符串解析为int类型。该方法是Integer类中的方法
    • 也可通过Integer.valueOf(String s)转换为Integer类型,再通过i.intValue()转换为int类型

5.4 自动装箱和拆箱

  • 装箱: 把基本数据类型转换为对应的包装类类型
  • 拆箱: 把包装类类型转换为对应的基本数据类型

6 日期类

6.1 Date类概述和构造方法

Date代表了一个特定的时间,精确到毫秒

方法名说明
public Date()分配一个Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒
public Date(long date)分配一个Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数

6.2 Date 类的常用方法

方法名说明
public long getTime()获取的是日期对象从1970年1月1日00:00:00到现在的毫秒值
public void setTime(long time)设置时间,给的是毫秒值

6.3 SimpleDateFormat 类概述

SimpleDateFomat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。

日期和时间格式由日期和时间模式字符串指定,在日期和时间模式字符串中,从‘A’到‘Z’以及从‘a到‘z’引号的字母被解释为表示日期或时间字符串的组件的模式字母

常用的模式字母及对应关系如下:

  • 年 y
  • 月 M
  • 日 d
  • 时 H
  • 分 m
  • 秒 s

6.4 SimpleDateFormat的构造方法

方法名说明
public SimpleDateFormat()构造一个SimpleDateFormat,使用默认模式和日期格式
public SimpleDateFormat(String pattern)构造一个SimpleDateFormat使用给定的模式和默认的日期格式

6.5 SimpleDateFormat格式化和解析曰期

  1. 格式化(从Date到String)
    public final String ==format(Date date)==: 将日期格式化成日期/时间字符串
  2. 解析(从String到Date)
    public Date ==parse(String source)==: 从给定字符串的开始解析文本以生成日期

6.6 Calendar类概述

  1. Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法

  2. Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化:
    • Calendar rightNow = Calendar.getlnstance();

6.7 Calendar的常用方法

方法名说明
public int get(int field)返回给定日历字段的值
public abstract void add(int field, int amount)根据日历的规则,将指定的时间量添加或减去给定的日历字段
public final void set(int year, int month, int date)设置当前日历的年月日