異常處理java
異常是指 運行期出現的錯誤 觀察錯誤的名字和行號最重要數組
ArrayIndexOutOfBoundapp
所謂錯誤是指程序運行的過程當中發生的一些異常事件(除0溢出,數組下標越界,所要讀取的文件不存在)this
設計良好的程序應該在異常發生時提供處理這些錯誤的方法,使得程序不會由於異常的發生而阻斷或產生不可預見的結果spa
java程序的執行過程當中如出現異常事件,能夠生成一個異常類對象,該異常對象封裝了異常事件的信息並將被提交給java運行時系統,這個過程稱爲throw異常;當java運行時系統接收到異常對象時,會尋找能處理這一異常的代碼並把當前異常對象交給其處理,這一過程稱爲catch異常設計
try{...} catch(ArithmathicException e){...}對象
public void someMethod()throws SomeException{ //聲明該方法可能拋出的異常
繼承
if(someCondition()){事件
throw new SomeException(""); //構造並拋出異常對象資源
}
}
try{
someMethod();
}catch(someException e){
//異常處理代碼
}
異常類 throwable:Error(處理不了的錯誤)、Exception(能夠處理的異常)(RuntimeException,其餘exception)
Exception 異常類的父類 通常須要用戶顯示的聲明或捕獲
finally中的代碼都會最後被執行,一般在finally語句中能夠進行資源的清除工做:關閉打開的文件,刪除臨時文件
printStackTrace()方法,用來跟蹤異常事件發生時執行堆棧的內容
getMessage()方法,用來獲得有關異常事件的信息
void m(int i) throws ArithmeticException{
if(i==0) throw new ArithmeticException("被除數不能爲0");}
使用自定義異常通常有以下步驟:
1.經過繼承java.lang.Exception 類聲明本身的異常類
2.在方法適當的位置 生成自定義異常的實例, 並用throw語句拋出
3.在方法的聲明部分用throws語句聲明該方法可能拋出的異常
class MyException extends Exception{
private int id;
public MyException(String message, int id){
super(message);
this.id = id;
}
public int getId(){
return id;
}
注意:重寫方法須要拋出與原方法所拋出異常類型一致異常或不拋出異常
數組
java中使用關鍵字new建立數組對象
數組名 = new 數組元素的類型[數組元素的個數]
int []s;
s = new int[5]
class Date{...}
Date [] date;
date = new Date[5];
二維數組能夠當作以數組爲元素的數組
靜態初始化:int intA[][] = {{1,2},{1,2,3}};
動態初始化: int a[][] = new int[3][5] or int b[][] = new int[3][] b[0] = new int [1]...
基本類
String類
經常使用方法
public char charAt(int index);//返回字符串中第index個字符
public int length();//返回字符串的長度
public int indexOf(String str);//返回字符串中出現str的第一個位置
public int indexOf(String str, int fromIndex);//返回字符串中從fromIndex開始出現str的第一個位置
public boolean equalsIgnoreCase(String another);//比較字符串與another是否同樣(忽略大小寫)
public String replace(char oldChar, char newChar);//在字符串中用newchar字符替換oldChar字符
靜態重載方法
public static String valueOf(..)能夠將基礎數據類型轉成字符串類型
重寫toString
public String [] split( )
String s = "Mary,F,1976";
String [] sp = s.split(",");
StringBuffer 類
java.lang.StringBuffer 表明可變的字符序列
StringBuffer和String相似,但StringBuffer能夠對其字符串進行改變
構造方法:
StringBuffer();建立一個不包含字符序列的空的StringBUffer對象
StringBuffer(String str);// 建立一個StringBuffer對象,包含與String對象str相同的字符序列
重載方法public StringBuffer append() 能夠爲該StringBuffer對象添加字符