20172325 2017-2018-2 《Java程式設計》第九周學習總結

來源:互聯網
上載者:User

標籤:方式   異常處理   多態   進度   旅行   理解   概念   相同   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程式設計》第九周學習總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.