异常:
异常:
-
Throwable类
-
/ \
-
Error Exception
-
| | \
-
Unchecked Checked Runtime
-
Exception Exception Exception
-
Error:这类错误不需要程序员管理
-
Exception:异常
-
检查时异常|编译时异常:如果程序一旦出现检查时异常,程序必须要经过处理,否则无法运行
-
运行时异常:增强程序的健壮性就可以处理
-
一般运行时异常都会直接或者间接的继承自RuntimeException
-
常见的运行时异常:
-
1.空指针 NullPointerException
-
2.数组越界异常 ArrayIndexOutOfBoundsException
-
3.负数异常|数组的长度为负数异常 NegativeArraySizeException
-
4.数学异常 ArithmeticException
-
5.类型转换异常 ClassCastException
-
6.数字转换异常 NumberFormatException
-
throw 制造异常
-
throws 抛出异常
-
捕获异常 try…catch
-
try { 可能会出现异常的代码; } catch (FileNotFoundException e) { 如果出现对应的异常执行的代码 } catch (NullPointerException e){ } catch (Exception e){ } finally{ 无论是否出现异常,一定会执行的代码 } 注意: 1.如果try中的代码出现异常,下面的代码不会执行,直接执行对应的catch中的代码 2.一个try至少存在一个或者多个catch 3.catch中捕获异常的顺序从小到大写
//方法的重写 子类重写方法抛出异常<=父类方法抛出的异常
自定义异常类: 要直接或者间接继承自Exception或者它的子类
常用类:常常会使用的类
- String 不可变长字符串|字符序列
- StringBuilder:可变长字符串 ,线程不安全,效率较高
- StringBuffer:可变长字符串 ,线程安全的,效率较低
- 学习类的API:
-
String
-
作用:String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
-
构造器
-
方法:
-
成员方法
-
静态方法
1.char charAt(int index) 返回指定索引处的 char 值。
- 2.int codePointAt(int index) 返回指定索引处的字符(Unicode 代码点)。
- 3.int compareTo(String anotherString) 按字典顺序比较两个字符串。
- 相等为0 ,如果this比参数对象大返回整数,否则返回负数
- 4.compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写
- 5.String concat(String str) 将指定字符串连接到此字符串的结尾。
- 6.boolean contains(CharSequence s) 当且仅当此字符串包含指定的 char 值序列时,返回 true。
- 7.static String copyValueOf(char[] data) 返回指定数组中表示该字符序列的 String。
- 8.boolean endsWith(String suffix) 测试此字符串是否以指定的后缀结束。
- 9.boolean startsWith(String prefix) 测试此字符串是否以指定的前缀开始。
- 10.byte[] getBytes() 字符串转字节数组
- 11.int indexOf(String str) 返回指定子字符串在此字符串中第一次出现处的索引。
- 12.String replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
- 13.String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
- 14.String substring(int beginIndex) 返回一个新的字符串,它是此字符串的一个子字符串。
15.String substring(int beginIndex, int endIndex)返回一个新字符串,它是此字符串的一个子字符串。 结束位置索引获取不到
16.char[] toCharArray() 将此字符串转换为一个新的字符数组。
17.String toLowerCase()
18.String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
19.String trim()返回字符串的副本,忽略前导空白和尾部空白。
20.static String valueOf(int i) 返回 int 参数的字符串表示形式。
StringBuilder:可变长字符串 ,线程不安全,效率较高
-
StringBuffer:可变长字符串 ,线程安全的,效率较低
-
基本数据类型的包装类 包装类
-
byte — Byte
-
short — Short
-
int — Integer
-
long — Long
-
char — Character
-
float — Float
-
double — Double
-
boolean — Boolean
-
自动装箱:基本数据类型–>包装类型
-
自动拆箱:包装类型–>基本数据类型
*/
public class Data04 {
public static void main(String[] args) {
int a=5;
Integer i1=a; //自动装箱 Integer i1= Integer.valueOf(a);
int int1=i1; //自动拆箱 int int1=i1.intvalue()test(1.1,2.2); Integer in1=127; Integer in2=127; Integer in3=new Integer(127); Integer in4=new Integer(127); int in5=127; Integer in6=128; Integer in7=128; System.out.println(in1==in2); //true System.out.println(in2==in3); //false System.out.println(in3==in4); //false System.out.println(in5==in4); //true 自动拆箱 System.out.println(in5==in2); //true 自动拆箱 System.out.println(in6==in7); //false Integer.valueOf(128); //缓冲区对象所表示的范围: [-128,127],在其范围之内是同一个Integer对象,在其范围之外,返回new Integer()
}
static void test(Double d1,Double d2){ //自动装箱 Double d1=1.1;
System.out.println(d1+d2); //自动拆箱运算
}
}
Math数学类
//static double ceil(double a) 向上取整
//static double floor(double a) 向下取整
static long max(long a, long b)
返回两个 long 值中较大的一个。
static double min(double a, double b)
返回两个 double 值中较小的一个。
Date 日期
-
构造器:
-
Date() 以当前系统时间构建日期对象
-
Date(long date) 参数为毫秒数,默认从1970.1.1.0.0.0开始计算
-
注意:导包 java.util.Date
-
boolean after(Date when)
测试此日期是否在指定日期之后。
boolean before(Date when)
测试此日期是否在指定日期之前。
int compareTo(Date anotherDate)
比较两个日期的顺序。
boolean equals(Object obj)
比较两个日期的相等性。 -
SimpleDateFormat 日期格式类|转换类|转换器
-
指定格式
-
y->年
-
M->月
-
d->日
-
H->24小时
-
h->12小时
-
m->分
-
s->秒
-
S->毫秒
-
format(Date)–>日期对象转为字符串,可以按照指定格式,可以使用转换器的默认格式
-
parse(String) -->把字符串转为日期对象,按照指定格式转换
枚举: enum
- 列举所有情况,可以枚举类
- 1.枚举类也是类,类中的字段|属性都是该类的一个实例,默认相当于使用public static final修饰
- 2.枚举类隐式的继承了java.lang.Enum