2020-11-22
異常異常既然產生則有必要進行合理的處理,Java中對於異常的處理分為兩種方式:異常丟擲(throw/throws)異常捕獲(try/catch/finally)Java程式中一旦出現異常,這出現異常問題的所在程式碼行之後的程式碼無法再執行。throws:用於方法的宣告中,丟擲有可能出現的異常throw:用於語句塊中,丟擲指定型別的異常物件,throw一旦執行,則一定會出現該型別異常final是一個關鍵字用於修飾類,屬性,方法finalize是Object類中提供的一個方法,用於在jvm對物件清理時,對於當前物件執行一些最終的處理工作的finally是異常中的語句塊執行時異常型別java.lang.ArithmeticException算術異常(比如被零除)java.lang.ArithmeticException空指標異常(呼叫方法,屬性的物件為null時)java.lang.ArrayIndexOutOfBoundsException陣列索引越界java.lang.ClassCastException型別轉換異常java.util.InputMismatchException輸入的資料型別不匹配讀取的型別常見的異常型別java.lang.ClassNotFoundException類未找到異常java.io.FileNotFoundException檔案未找到異常java.io.IOExceptionIO異常(輸入輸出異常)java.sql.SQLException訪問資料庫的異常java.text.ParseException解析異常常用類Objects類Object類是所有java類的頂層父類(祖宗類),但是Objects是從Java7開始新增的一個對於java物件進行空指標安全操作的工具類Objects類是一個工具類Objects對外不提供構造器,因此無法建立物件Objects類中的所有方法都是static提供的是對於物件的空指標安全操作的方法Random類 Math類中提供了一個random()的方法,用於隨機一個從0.01.0之間的浮點數,當實際需求有個性化的要求時,只能通過計算獲取其他型別的隨機數,實際操作相對比較麻煩;因此,Java中還提供了另一個專門用於生成各種需求的隨機數型別,比如,隨機整數,隨機浮點數,隨機布林值。nextBoolean():隨機一個布林值nextDouble():隨機一個0.01.0之間的double值nextInt():隨機一個int範圍內的整數值nextInt(int bounds):隨機一個從0~bounds-1位的整數值File類 File類是來自於java.io包中的一個用於處理本機作業系統中的檔案,檔案可以是目錄也可以是一個標準檔案;File類是用於在Java中實現跟本機檔案系統進行關聯的操作類。其中包含一些常見的檔案操作:建立檔案/目錄,檢視檔案的狀態,刪除檔案等。Date類java.util.Date是一個傳統的java用於處理日期時間的類,由於版本更新,內部有很多構造器包括方法均已標記為過時,取而代之的是java.util.Calendar類;常用方法after(Date d)before(Date d)compareTo(Date d)getTime()//判斷當前日期物件是否是引數日期物件之後的日期
System.out.println(d1.after(d2));
System.out.println(d1.before(d2));
//實現一個小程式,判斷兩個學生的年齡,輸出較大學生的資訊?
//學生:學號,姓名,生日(1999/11/11)
Date d3 = new Date();
System.out.println(d3.equals(d1));
//獲取當前日期物件所表示的時間毫秒數
System.out.println(d3.getTime());
System.out.println(d1.getTime());
// System.out.println(d3.getYear());正規表示式正規表示式( Regular expression)是一組由字母和符號組成的特殊文字, 它可以用來從文字中找出滿足你想要的格式的句子。正規表示式最早源自於perl語言(指令碼語言);正規表示式的功能十分強大,可以用於進行文字的匹配,檢索,替換;常見於一些網路爬蟲。java中對於正規表示式的處理主要由一下三個類實現:java.lang.Stringjava.util.regex.Patternjava.util.regex.Macher簡單案例:String a = “13567845635”;
//判斷兩個字串是否完全一致
System.out.println(a.equals(“13567845634”));
//判斷當前String物件是否匹配給定的正規表示式( 匹配手機號格式字串)
System.out.println(a.matches("^1\d{10}$"));重複零次或更多次+重複一次或更多次?重複零次或一次{n}重複n次{n,}重複n次或更多次{n,m}重複n到m次案例://匹配輸入長度為4的數字要求必須以1開頭
System.out.println(“1234”.matches("^1\d{3}"));
//驗證輸入的是否是qq號 5-11位長度數字,不能以0開始
System.out.println(“12334352324”.matches("1\d{4,10}"));
// \w
System.out.println(“a”.matches("[0-9a-zA-Z]"));
//匹配不能少於5位長度的數字
System.out.println(“12387912”.matches("\d{5,}"));
//匹配不能超過6位長度的數字
System.out.println(“12346”.matches("\d{0,6}"));
//匹配字母0個或多個
System.out.println("".matches("[a-zA-Z]"));
//匹配字母1個或多個
System.out.println(“a”.matches("[a-zA-Z]+"));
//匹配字母0個或1個
System.out.println(“ac”.matches("[a-zA-Z]?"));
1-9 ↩︎