Address:
一、异常:
* Throwable类
* / \
* Error Exception
* | | \
* Unchecked Checked Runtime
* Exception Exception Exception
*
*
* Error:这类错误不需要程序员管理
* Exception:异常
* 检查时异常|编译时异常:如果程序一旦出现检查时异常,程序必须要经过处理,否则无法运行
* 运行时异常:增强程序的健壮性就可以处理
* 一般运行时异常都会直接或者间接的继承自RuntimeException
*
*常见的运行时异常:
* 1.空指针 NullPointerException
* 2.数组越界异常ArrayIndexOutOfBoundsException
* 3.负数异常|数组的长度为负数异常NegativeArraySizeException
* 4.数学异常 ArithmeticException
* 5.类型转换异常 ClassCastException
* 6.数字转换异常 NumberFormatExceptio
[if !vml]
[endif]
二、异常处理
throw 制造异常
* throws抛出异常
*捕获异常try..catch
* try {
可能会出现异常的代码;
}catch (FileNotFoundException e) {
如果出现对应的异常执行的代码
}catch (NullPointerException e){
}catch (Exception e){
}finally{
无论是否出现异常,一定会执行的代码
}
注意:
1.如果try中的代码出现异常,下面的代码不会执行,直接执行对应的catch中的代码
2.一个try至少存在一个或者多个catch
3.catch中捕获异常的顺序从小到大写
*/ [if !vml]
[endif]
三、自定义异常类
publicclass ExceptionDemo03 {
public static void main(String[] args) {
User user=new User();
user.setName("李四");
user.setAge(-28);
}
}
/*
*自定义异常类: 年龄不合法的情况
*要直接或者间接继承自Exception或者它的子类
*/
classAgeException extends RuntimeException{
/*private String message;
public String getMessage() {
return message;
}*/
public AgeException(int age) {
super("年龄"+age+"岁不合法");
//this.message = "年龄"+age+"岁不合法";
}
public AgeException() {
}
}
classUser{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age){
if(age>=0){
this.age = age;
}else{
//System.out.println("年龄不合法");
throw new AgeException(age);
}
}
public User() {
// TODO Auto-generated constructorstub
}
}
四、常用类
*常用类:常常会使用的类
* String不可变长字符串|字符序列
* StringBuilder:可变长字符串 ,线程不安全,效率较高
* StringBuffer:可变长字符串 ,线程安全的,效率较低
*
* 学习类的API:
* String
* 作用:String 类代表字符串。Java程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
* 构造器
* 方法:
* 成员方法
* 静态方法
*/
[if !vml]
[endif]
五、String类
* 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, charnewChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
* 13.String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
* 14.String substring(int beginIndex)返回一个新的字符串,它是此字符串的一个子字符串。
15.String substring(int beginIndex, intendIndex)返回一个新字符串,它是此字符串的一个子字符串。结束位置索引获取不到
16.char[] toCharArray()将此字符串转换为一个新的字符数组。
17.String toLowerCase()
18.String toUpperCase()使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
19.String trim()返回字符串的副本,忽略前导空白和尾部空白。
20.static String valueOf(int i) 返回 int 参数的字符串表示形式。
*/
[if !vml]
[endif]
六、StringBulider与StringBuffer
[if !vml]
[endif]
七、枚举
*枚举: enum
* 列举所有情况,可以枚举类
* 1.枚举类也是类,类中的字段|属性都是该类的一个实例,默认相当于使用public
static final修饰
* 2.枚举类隐式的继承了java.lang.Enum
*/
[if !vml]
[endif]
八、日期类
*
*SimpleDateFormat 日期格式类|转换类|转换器
* 指定格式
* y->年
* M->月
* d->日
* H->24小时
* h->12小时
* m->分
* s->秒
* S->毫秒
*
* format(Date)-->日期对象转为字符串,可以按照指定格式,可以使用转换器的默认格式
* parse(String) -->把字符串转为日期对象,按照指定格式转换
[if !vml]
[endif]
���ltJ+�