一、常用API
1.Math
1.1 概述
Math 包含执行基本数字运算的方法。
1.2 Math中方法的调用方式
Math类中无构造方法,但内部的方法都是静态的,则可以通过 类名.进行调用
1.3 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 概述
包含几个有用的类字段和方法,不能被实例化。
2.2 System类的常用方法
方法名 | 说明 |
---|---|
public static void exit(int status) | 终止当前运行的 Java 虚拟机,非零表示异常终止 |
public static long currentTimeMillis() | 返回当前时间(以毫秒为单位) |
3.Object
3.1 概述
Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份。
3.2 查看方法源码的方式
选中方法,按下Ctrl + B
3.3 重写toString方法的方式
Alt + Insert 选择toString;
在类的空白区域,右键 -> Generate -> 选择toString。
3.4 toString方法的作用
以良好的格式,更方便的展示对象中的属性值。
3.5 equals方法的作用
用于对象之间的比较,返回true和false的结果
3.6 重写equals方法的场景
不希望比较对象的地址值,想要结合对象属性进行比较的时候。
3.7 重写equals方法的方式
alt + insert 选择equals() and hashCode(),IntelliJ Default,一路next,finish即可;
在类的空白区域,右键 -> Generate -> 选择equals() and hashCode(),后面的同上。
4.Arrays
4.1 概述
包含用于操作数组的各种方法。
4.2 Arrays的常用方法
方法名 | 说明 |
---|---|
public static String toString(int[] a) | 返回指定数组的内容的字符串表示形式 |
public static void sort(int[] a) | 按照数字顺序排列指定的数组 |
4.3 工具类设计思想
(1)构造方法用 private 修饰;
(2)成员用 public static 修饰。
5.基本类型包装类
5.1 概述
将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。
6.日期类
6.1 Date
(1)概述
代表了一个特定的时间,精确到毫秒。
(2)Date类构造方法
方法名 | 说明 |
---|---|
public Date() | 分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到毫秒 |
public Date(long date) | 分配一个 Date对象,并将其初始化为表示从标准基准时间起指定的毫秒数 |
(3)常用方法
方法名 | 说明 |
---|---|
public long getTime() | 获取的是日期对象从1970年1月1日 00:00:00到现在的毫秒值 |
public void setTime(long time) | 设置时间,给的是毫秒值 |
6.2 SimpleDateFormat
(1)概述
SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
(2)SimpleDateFormat类构造方法
方法名 | 说明 |
---|---|
public SimpleDateFormat() | 构造一个SimpleDateFormat,使用默认模式和日期格式 |
public SimpleDateFormat(String pattern) | 构造一个SimpleDateFormat使用给定的模式和默认的日期格式 |
(3)SimpleDateFormat类的常用方法
-
格式化(从Date到String)
-
public final String format(Date date):将日期格式化成日期/时间字符串
-
-
解析(从String到Date)
-
public Date parse(String source):从给定字符串的开始解析文本以生成日期
-
6.3 Calendar类
(1)概述
Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
Calendar 提供了一个类方法 getInstance 用于获取这种类型的一般有用的对象。
该方法返回一个Calendar 对象。
其日历字段已使用当前日期和时间初始化:Calendar rightNow = Calendar.getInstance();
(2)Calendar类常用方法
方法名 | 说明 |
---|---|
public int get(int field) | 返回给定日历字段的值 |
public abstract void add(int field, int amount) | 根据日历的规则,将指定的时间量添加或减去给定的日历字段 |
public final void set(int year,int month,int date) | 设置当前日历的年月日 |
二月天案例
案例需求:获取任意一年的二月有多少天;
代码实现
public class CalendarTest {
public static void main(String[] args) {
//键盘录入任意的年份
Scanner sc = new Scanner(System.in);
System.out.println("请输入年:");
int year = sc.nextInt();
//设置日历对象的年、月、日
Calendar c = Calendar.getInstance();
c.set(year, 2, 1);
//3月1日往前推一天,就是2月的最后一天
c.add(Calendar.DATE, -1);
//获取这一天输出即可
int date = c.get(Calendar.DATE);
System.out.println(year + "年的2月份有" + date + "天");
}
}
二、异常
1.异常
1.1 概述
异常就是程序出现了不正常的情况。
1.2 异常的体系结构
1.3 JVM默认处理异常的方式
如果程序出现了问题,我们没有做任何处理,最终JVM 会做默认的处理,处理方式有如下两个步骤:(1)把异常的名称,错误原因及异常出现的位置等信息输出在了控制台;
(2)程序停止执行。
1.4 try-catch方式处理异常
-
定义格式
try { 可能出现异常的代码; } catch(异常类名 变量名) { 异常的处理代码; }
-
执行流程
-
程序从 try 里面的代码开始执行
-
出现异常,就会跳转到对应的 catch 里面去执行
-
执行完毕之后,程序还可以继续往下执行
-
1.6 Throwable成员方法
常用方法
方法名 | 说明 |
---|---|
public String getMessage() | 返回此 throwable 的详细消息字符串 |
public String toString() | 返回此可抛出的简短描述 |
public void printStackTrace() | 把异常的错误信息输出在控制台 |
1.7 编译时异常和运行时异常的区别
-
编译时异常
-
都是Exception类及其子类
-
必须显示处理,否则程序就会发生错误,无法通过编译
-
-
运行时异常
-
都是RuntimeException类及其子类
-
无需显示处理,也可以和编译时异常一样处理
-
1.8 throws方式处理异常
-
定义格式
public void 方法() throws 异常类名 { }
1.9 throws和throw的区别
(1)throws 用来声明一个方法可能抛出的所有异常信息,表示出现异常的一种可能性,但并不一定会发生这些异常;throw 则是指拋出的一个具体的异常类型,执行 throw 则一定抛出了某种异常对象。
(2)通常在一个方法(类)的声明处通过 throws 声明方法(类)可能拋出的异常信息,而在方法(类)内部通过 throw 声明一个具体的异常信息。
(3)throws 通常不用显示地捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法; throw 则需要用户自己捕获相关的异常,而后再对其进行相关包装,最后将包装后的异常信息抛出。
2.自定义异常
2.1 概述
如果 Java 提供的内置异常类型不能满足程序设计的需求,这时我们可以自己设计 Java 类库或框架,其中包括异常类型。
实现自定义异常类需要继承 Exception 类或其子类,如果自定义运行时异常类需继承 RuntimeException 类或其子类。
自定义异常类一般包含两个构造方法:一个是无参的默认构造方法,另一个构造方法以字符串的形式接收一个定制的异常消息,并将该消息传递给超类的构造方法。
在编码规范上,一般将自定义异常类的类名命名为 XXXException,其中 XXX 用来代表该异常的作用。
2.2 语法形式
<class><自定义异常名><extends><Exception>
异常处理顺序图
无意中发现的两张图,我觉得看起来非常直观就贴上来了。