20155117王震宇 2006-2007-2 《Java程序设计》第5周学习总结
生活随笔
收集整理的這篇文章主要介紹了
20155117王震宇 2006-2007-2 《Java程序设计》第5周学习总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
教材學(xué)習(xí)內(nèi)容總結(jié)
- try & catch
- java中的錯誤會被打包成對象,可以嘗試(try)捕捉(catch)代表錯誤的對象后做一些處理。如果發(fā)生錯誤,會跳到catch的區(qū)塊并執(zhí)行。
- 異常結(jié)構(gòu)處理
- 正則表達式
- 在看這部分內(nèi)容的時候,看到了規(guī)則表示式一詞。要不是還有英文Regular Expression注釋根本記不起這就是正則表達式。沒想到這么古老的直翻詞語還能在新版的書上看到。前段時間還想起很久之前寫過相關(guān)的程序用做過濾匹配文本,這可以用作檢查代碼,匹配一下文本就好了,畢竟每個人的代碼風(fēng)格還是區(qū)別挺大的;至于換行、注釋這種低級的問題隨便寫個文本過濾就沒了。但是難點是在文本搜索匹配的策略優(yōu)化上,不注意的話時間復(fù)雜度高的驚人(廢話)。懶得想數(shù)據(jù)結(jié)構(gòu)和剪紙的方法也就懶得寫那個小工具,如果有興趣的同學(xué)能看到這篇沒什么人看的博客有了靈感的話不勝榮幸,順便能告訴我你想好的算法那就感激不盡了。
- PS:千萬不要想字符串匹配(諸如kmp)的算法,對于雷同問題的解決效率低,當(dāng)然對付直接復(fù)制粘貼的懶人來說還是有用的。
- 正則表達式
- 多重捕捉
下面兩段代碼功能相同。
- throw
- 任何流程中都可以throw(不是throws),不一定要在catch區(qū)塊里。但需要在方法上使用throws(不是throw)聲明。
- assert
- assert 語法:
- 斷言
- 使用時注意斷言客戶端調(diào)用方法前,已經(jīng)準備好某些前置條件(通常在private方法之中)
- 斷言客戶端調(diào)用方法后,具有方法承諾的結(jié)果。
- 斷言對象某個時間點下的狀態(tài)。
- 使用斷言取代批注。
- 斷言程序流程中絕對不會執(zhí)行到的程序代碼部分。
- checkGreaterThanZero() 是一種前置條件檢查,如果程序上線后就不再需要這種檢查的話,可以將之以 assert取代,并在開發(fā)階段使用 -ea 選項,而程序上線后取消該選項
- 使用斷言的時機:一定不能有 default 的狀況,也可以使用 assert 來取代
- 使用Collection收集對象
- 收集對象的行為,像是新增對象的 add()方法、移除對象的remove()方法等,都是定義在 java.util.Collection中
教材學(xué)習(xí)中的問題和解決過程
操作comparable
按照教材的指示,我出現(xiàn)了和教材一樣的錯誤。
發(fā)現(xiàn)所謂的comparable就是C語言中qsort()函數(shù)需要自己寫的comp()比較原則函數(shù)。
類比qsort()比較原則的編寫經(jīng)驗,寫出了這里排序的comparable
代碼調(diào)試中的問題和解決過程
問題一:習(xí)慣用-1代表彈出標志,結(jié)果沒注意正則表達式規(guī)范導(dǎo)致不能正常終止程序。
問題二:調(diào)用toUpperCase()引發(fā)NullPointerException。
代碼托管
結(jié)對及互評
基于評分標準,我給本博客打分:10
學(xué)習(xí)進度條
| 目標 | 5000行 | 30篇 | 400小時 | |
| 第一周 | 0/0 | 2/2 | 20/20 | |
| 第二周 | 251/251 | 1/5 | 18/38 | |
| 第三周 | 651/902 | 1/6 | 10/48 | |
| 第四周 | 300/1400 | 1/7 | 10/58 | |
| 第四周 | 696/2196 | 1/8 | 10/68 |
參考資料
Java學(xué)習(xí)筆記(第8版)
- 《Java學(xué)習(xí)筆記(第8版)》學(xué)習(xí)指導(dǎo)
...
轉(zhuǎn)載于:https://www.cnblogs.com/ikari/p/6624654.html
總結(jié)
以上是生活随笔為你收集整理的20155117王震宇 2006-2007-2 《Java程序设计》第5周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KVC、KVO实现过程
- 下一篇: 数据结构--汉诺塔--借助栈实现非递归-