標籤:方式 異常處理 多態 進度 旅行 理解 概念 相同 png
20172325 2017-2018-2 《Java程式設計》第九周學習總結
教材學習內容總結異常
1.學習了異常的基本概念;
2.區分異常與錯誤:
- 一個異常是指一個定義非正常情況或錯誤的對象,由程式或運行時環境拋出,可以根據需要進行相應的捕獲和處理。而錯誤類似於異常,但是錯誤代表不可恢複的問題並且必須捕獲處理。
- 一個異常確實代表了一個錯誤,但是異常只是代表了一種意外的情況,即一種在正常條件下不會發生的情況,異常處理提供了一種處理異常的有效方式。
3.處理異常的三個基本方法:
- 根本不處理異常
- 當異常發生時處理異常
- 在程式某個位置集中處理異常
4.try-catch語句
- 沒有異常,將繼續執行try語句後的語句塊,所有catch子句後的語句。
- 有異常,則控制立刻轉移到相應的catch子句處理異常。
5.finally語句
- 一條try-catch語句可以有一個可選的finally子句,用於定義一段無論是否有異常發生都將執行的代碼。
- 如果有finally子句,則必須跟在所有的catch子句後面。
- try語句塊可以沒有catch子句,但仍然可以使用finally子句。
遞迴
1.遞迴思想:遞迴是一種方法能夠調用自己的編程技術,掌握遞迴編程的關鍵是能以遞迴的思想考慮問題;
2.無窮遞迴的情況類似於無限迴圈;
3.直接遞迴和間接遞迴:
- 方法調用自己的遞迴,稱為直接遞迴;
- 如果一個方法調用其他方法,最終導致再次調用自己,則稱為間接遞迴。
4.遞迴的經典應用是迷宮旅行和漢諾塔問題;
教材學習中的問題和解決過程
- 問題1:當學習了異常的概念和解決辦法以後,我想異常和錯誤有什麼差別,為什麼錯誤不能用解決異常的方法在處理。
- 問題1解決方案:在教材的思考題中學到了錯誤和異常的區別:
異常:是一個定義非正式情況或錯誤的對象,由程式或者運行時環境拋出,可以根據需要捕獲和處理。
錯誤:錯誤類似於異常,但是錯誤代表不可恢複的問題並且必須捕獲處理。
然而到了這裡,我依舊不知道為什麼不能用相同的辦法處理,於是尋找了相關資料,意識到他們相似但是不完全一樣,主要差異在運行時出現錯誤的等級,相比較來說“錯誤”等級更高。
代碼調試中的問題和解決過程
- 問題1:
- 問題1解決方案:XXXXXX
- 問題2:XXXXXX
- 問題2解決方案:XXXXXX
- ...
代碼託管上周考試錯題總結
分析:這個題出錯主要是由於對於概念的理解不夠清楚。重載只是為具有不同參數列表的方法提供了替代方法。重寫提供了多態性,因為根據當前正在引用的對象調用適當的方法。嵌入是類中的類的封閉。抽象與多態性無關。封裝是通過使用可見度修飾符(公用的、私人的、受保護的)實現的。
Upcasting是完全安全的,它是Java支援的單一繼承結構的產物。相比之下,Downcasting必須由程式員明確地完成。Java只在一個方向上進行強制轉換。upcasting和downcasting的規則並不依賴於使用中的可見度修飾符。
雖然繼承和介面支援多態性,但只有在具有後期綁定的情況下才會這樣做。但是,重載是多態性的一種形式(方法)名稱,多個主體,因此只要程式使用重載,多態性就會被使用。
結對及互評點評模板:
- 部落格中值得學習的或問題:
- 劉辰同學在部落格記錄問題上面比以前更加細緻了,對於問題的描述和解決過程逗比以前更好,希望繼續努力;
- 在排版上好像出了點問題,教材問題一的圖片好像出現了超出介面的情況,希望改正。
- 代碼中值得學習的或問題:
基於評分標準,我給本部落格打分:滿分。
點評過的同學部落格和代碼
- 本周結對學習情況
- 20172306
- 結對學習內容
- 學習第十一和十二章pp項目。
- 學習異常和遞迴的具體內容
- 對於IO操作的共同探討
- 繼續完善四則運算的的項目
其他(感悟、思考等,可選)
- 一直覺得老師應該先講課,我們再進行進一步的研究學習,畢竟老師應該先傳播知識嘛,現在的模式就很舒服了,在學習過程中遇到的問題少了很多,有很多東西看到了就知道,不用像以前那樣找不到專業解答,還得自己去找一個個不知道對錯的答案。
- 前一個月每晚都要去練習啦啦操,和班裡同學相比少了很多學習時間,現在終於結束,必須要加緊步伐,更上老師同學的腳步呢。
學習進度條
|
程式碼數(新增/累積) |
部落格量(新增/累積) |
學習時間(新增/累積) |
重要成長 |
| 目標 |
5000行 |
30篇 |
400小時 |
|
| 第一周 |
129/129 |
1/1 |
20/20 |
|
| 第二周 |
359/488 |
1/2 |
18/38 |
|
| 第三周 |
521/1009 |
2/4 |
22/60 |
|
| 第四周 |
1057/2066 |
1/5 |
30/90 |
|
| 第五周 |
636/2702 |
1/6 |
30/120 |
|
| 第六周 |
489/3191 |
1/7 |
28/158 |
|
| 第七周 |
831/4022 |
1/8 |
41/199 |
|
| 第八周 |
382/4404 |
3/11 |
16/215 |
|
| 第九周 |
1301/5705 |
2/13 |
28/243 |
|
參考資料
Java學習筆記(第8版)
《Java學習筆記(第8版)》學習指導
20172325 2017-2018-2 《Java程式設計》第九周學習總結