一、內部類&匿名類html
new 類名() { 匿名類的類體 };
new 接口名(){ 實現接口的匿名類的類體 };
二、異常類java
三、斷言git
一、字節處理數組
兩個最基本字節流的抽象父類InputStream、OutputStream,通常用他的繼承類。ide
FileInputStream:構造:FileInputStream(File file)、FileInputStream(StringfileName),主要方法:`int read(int d)、int read(byte[] buf) 。學習
FileOutputStream:構造:FileOutputStream(File file)、FileOutputStream(StringfileName)idea
二、緩衝流:BufferedReader和BufferedWriter類建立的對象爲緩衝輸入流、輸出流,兩者加強讀寫文件的能力。調試
三、數組流:字節數組流、字符數組流code
四、對象流:ObjectInputStream、ObjeatOutputStream類建立的對象稱爲對象輸入流和對象輸出流;orm
//教材P167 public class Example7_4 { public static void main(String args[ ]) { int n = 0,m = 0,t = 1000; try{ m = Integer.parseInt("8888"); n = Integer.parseInt("ab89"); //發生異常,轉向catch t = 7777; //t沒有機會被賦值 //*************** System.out.println("a");//這裏是我本身添加的 //*************** } catch(NumberFormatException e) { System.out.println("發生異常:"+e.getMessage()); } System.out.println("n="+n+",m="+m+",t="+t); try{ System.out.println("故意拋出I/O異常!"); throw new java.io.IOException("我是故意的"); //System.out.println("這個輸出語句確定沒有機會執行,因此必須註釋掉,不然編譯出錯"); } catch(java.io.IOException e) { System.out.println("發生異常:"+e.getMessage()); } } }
上面的程序中//System.out.println("這個輸出語句確定沒有機會執行,因此必須註釋掉,不然編譯出錯");
這句話不太理解,爲何沒機會執行就要註釋掉?上面的t = 7777;
不是也沒有機會執行嗎?
後來我發現在throw語句的後面不能寫任何其餘的語句,若是寫了錯誤提示:Unreachable Statement。前面的語句中發生了異常,可是由於沒有寫throw,因此就不存在沒有機會執行的問題。
RUN -> Edit Configurations -> Configuration -> VM options : 輸入-ea,點擊OK。
教材P170頁代碼及運行結果(帶-ea):
import java.util.Scanner; public class Main { public static void main (String args[ ]) { int [] score={-120,98,89,120,99}; int sum=0; for(int number:score) { assert number>0:"負數不能是成績"; sum=sum+number; } System.out.println("總成績:"+sum); } }
Exception in thread "main" java.lang.AssertionError: 負數不能是成績 at Main.main(Main.java:7) Process finished with exit code 1
上面的例子裏:
for(int number:score) { assert number>0:"負數不能是成績"; sum=sum+number; }
之前注意到了for的這種用法,當時只瞟了一眼,覺得之後用不到也見得少,可是這會兒又想不起來了,慚愧。
找到一篇總結的不錯的:Java for循環的幾種用法 真 · 活到老學到老。
總結一下,在這裏大概就是:
> for (循環變量類型 循環變量名稱 : 要被遍歷的對象) 循環體
在這裏就是把數組score的每個值賦給一個int型叫number的變量,讓他在循環體裏面作運算。
System.exit(0);
以前考試的時候用過,我拿C語言的exit(0);
程序報錯,我當時還不知道怎麼回事,在這記個筆記。