20155209 2016-2017-2 《Java程序設計》第五週學習總結

20155209 2016-2017-2 《Java程序設計》第五週學習總結

教材學習內容總結

  • try語句用大括號{}指定了一段代碼,該段代碼可能會拋棄一個或多個例外。
  • catch語句的參數相似於方法的聲明,包括一個例外類型和一個例外對象。
  • catch語句能夠有多個,分別處理不一樣類的例外。
  • Java運行時系統從上到下分別對每一個catch語句處理的例外類型進行檢測,直到找到類型相匹配的catch語句爲止。
  • 這裏,類型匹配指catch所處理的例外類型與生成的例外對象的類型徹底一致或者是它的父類,所以,catch語句的排列順序應該是從特殊到通常。html

  • try所限定的代碼中,當拋棄一個例外時,其後的代碼不會被執行。
  • 經過finally語句能夠指定一塊代碼。不管try所指定的程序塊中拋棄或不拋棄例外,也不管catch語句的例外類型是否與所拋棄的例外的類型一致,finally所指定的代碼都要被執行,它提供了統一的出口。
  • 一般在finally語句中能夠進行資源的清除工做。如關閉打開的文件等。
  • throws老是出如今一個函數頭中,用來標明該成員函數可能拋出的各類異常。對大多數Exception子類來講,Java 編譯器會強迫你聲明在一個成員函數中拋出的異常的類型。
  • throw老是出如今函數體中,用來拋出一個異常。程序會在throw語句後當即終止,它後面的語句執行不到,而後在包含它的全部try塊中(可能在上層調用函數中)從裏向外尋找含有與其匹配的catch子句的try塊。
  • Collection是最基本的集合接口,一個Collection表明一組Object,即Collection的元素(Elements)。一些Collection容許相同的元素而另外一些不行。一些能排序而另外一些不行。Java SDK不提供直接繼承自Collection的類,Java SDK提供的類都是繼承自Collection的「子接口」如List和Set。
  • List是有序的Collection,使用此接口可以精確的控制每一個元素插入的位置。用戶可以使用索引(元素在List中的位置,相似於數組下標)來訪問List中的元素,這相似於Java的數組。
  • Map沒有繼承Collection接口,Map提供key到value的映射。一個Map中不能包含相同的key,每一個key只能映射一個value。Map接口提供3種集合的視圖,Map的內容能夠被看成一組key集合,一組value集合,或者一組key-value映射。
  • Set是一種不包含重複的元素的Collection,即任意的兩個元素e1和e2都有e1.equals(e2)=false,Set最多有一個null元素。java

教材學習中的問題和解決過程

  • 問題1:try/catch/finally的使用模板?
  • 問題2:throw和throws的區別
  • throw與throws的比較
    一、throws出如今方法函數頭;而throw出如今函數體。
    二、throws表示出現異常的一種可能性,並不必定會發生這些異常;throw則是拋出了異常,執行throw則必定拋出了某種異常對象。
    三、二者都是消極處理異常的方式(這裏的消極並非說這種方式很差),只是拋出或者可能拋出異常,可是不會由函數去處理異常,真正的處理異常由函數的上層調用處理。
  • 問題3:關於collection的理解
  • collection接口有兩個子接口:List(列表),Set(集)。List:可存放重複元素,元素存取是有序的。Set:不能夠存放重複元素,元素存取是無序的。
  • ArrayList:線程不安全,查詢速度快。LinkedList:鏈表結構,增刪速度快。
  • 取出List集合中元素的方式:get(int index):經過腳標獲取元素。iterator():經過迭代方法獲取迭代器對象。
  • 問題4:Map與Collection的區別,Map的使用方法。
  • Map與Collection在集合框架中屬並列存在。Map存儲的是鍵值對;Map存儲方法是用put方法,collection是用add方法;

代碼調試中的問題和解決過程

  • 使用properties遇到的問題
  • 解決:操做properties文件
  • 代碼仔細認真按照書中順序打,除了幾處書中印刷錯誤沒有發現更大錯誤。

代碼託管

  • 代碼提交過程截圖:
  • 代碼量截圖:

上週考試錯題總結

  • 4 填空:」Hello」.charAt(1) 的值是(‘e’)
  • 5 填空:System.out.println( 「HELLO」.( toLowerCase() ) ) 會輸出「hello」..
  • 21 CH06 判斷:XX是一個引用型變量,System.out.println(XX)等價於System.out.println(XX.toString()). (OK)
  • 30 CH07 填空:面向對象中,設計經驗能夠用(設計模式)表達

結對及互評

基於評分標準,我給本博客打分:9 。得分狀況以下:git

  1. 正確使用Markdown語法(加1分):
  2. 模板中的要素齊全(加1分)
  3. 教材學習中的問題和解決過程, 加1分
  4. 代碼調試中的問題和解決過程, 加2分
  5. 本週有效代碼超過300分行,加2分
    6 其餘加分,加2分 :
  • 排版精美的加一分
  • 進度條中記錄學習時間與改進狀況的加1分

點評過的同窗博客和代碼

其餘(感悟、思考等,可選)

本週代碼量不少,只是按照書中代碼循序漸進的往下編寫,思考的時間不多,爭取下週有一些本身思考的代碼,能夠對書中代碼加上一些簡單修改,或者加上一些相似的功能。設計模式

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 15篇 400小時
第一週 10/10 1/1 10/20
第二週 196/206 1/2 20/30
第三週 391/597 1/3 20/50
第四周 731/1328 1/4 30/80
第五週 908/2236 1/5 20/10 0

參考資料

相關文章
相關標籤/搜索