20165230 2017-2018-2 《Java程序設計》第6周學習總結

20165230 2017-2018-2 《Java程序設計》第6周學習總結

教材學習內容總結

第八章 經常使用使用類

  • String類經常使用方法
  1. public int length()
  2. public boolean equals(String s)
  3. public boolean startsWith(String s) public boolean endsWith(String s)
  4. public int compareTo(String s)
  5. public boolean contains(String s)
  6. public int indexOf(String s) public int lastIndexOf(String s)
  7. public String substring(int startpoint)
  8. public String trim()
  • String類與StringBuffer類不一樣:
    StringBuffer類的對象的實體的內存空間能夠自動的改變大小
  • 使用StringTokenizer、Scanner類分析字符序列,獲取字符序列中被分隔符分割的單詞
  • 使用Date類和Calendar類處理時間
  • 使用BigInteger類處理特別大的整數
  • 使用String類的static方法format格式化日期和數字html

    第十五章

  • 聲明泛型類:class 名稱<泛型列表>
  • 使用泛型類聲明對象時,必需要用具體類型替換泛型列表中的泛型
  • LinkedList 泛型類建立的對象以鏈表結構存儲數據
  • Stack 泛型類建立堆棧對象,堆棧的數據「先入後出」,堆棧在頂端進行數據的輸入輸出操做
  • HashMap<K,V>泛型類建立散列映射,採用散列表結構存儲數據,用於存儲鍵/值數據對。
  • TreeSet 類建立樹集,樹集節點的排列不按前後順序排列,當實現Comparable接口類建立的對象時,結點按對象的大小關係升序排列
  • TreeMap<K,V>類建立樹映射,樹映射的結點存儲鍵/值對,保證結點按結點中的鍵升序排列。java

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

  • 問題1:String類中的equals方法與contains方法有什麼區別?
  • 問題1解決:經過網上查詢瞭解到git

    equals是判斷字符串的是否是相等,例如:"abc".equals("abc"),返回結果是Boolean類型的true
    "abc".equals("ab")返回結果是Boolean類型的false
    contains是包含的意思,例如:"abc".contains("a"),返回結果是Boolean類型的true
    "abc".contains("d"),返回結果是Boolean類型的false.
    contains包含包括,"abc".contains("abcd")是返回的false正則表達式

  • 問題2:正則表達式知識點的擴充
  • 問題2解決:學習

  1. \w表示詞的一個字符
  2. ^[\u0391-\uFFE5]+$表示一個或多個漢字
  3. ^1[3|4|5|8][0-9]\d{8}$表示手機號碼。電話號碼前三位的括號,須要利用轉義符「」,在java中需再次轉義
  4. ^[A-Za-z][A-Za-z1-9_-]+$表示:用戶名(字母開頭 + 數字/字母/下劃線)
  5. ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$表示18位身份證號

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

  • 問題1:在調試example8_7時,輸出不能獲得書上所說的:「好」「java你」
    編碼

  • 問題1解決:由於機器的默認編碼不是GB2312
  • 問題2:在調試example8_23時,出現使用過時的API提示
  • 問題2解決:和上週遇到的狀況相同,不用編譯,直接運行便可
  • 問題3,:在調試example15_8時,拋出Exception in thread "main" java.lang.NoSuchMethodError異常
    .net

  • 問題3解決:在網上查詢得知該異常拋出的狀況:設計

    (1).第一個常見緣由jar包中確實沒有這個方法,因此虛擬機根本沒有加載這個方法。
    (2).第二個常見緣由是jar包衝突了。致使虛擬機不知道加載哪個,因此就致使了加載失敗,從而找不到這個方法。
    (3).第三個,也許就是包含在第二種狀況中,該方法只有抽象定義,而沒有具體實現。調試

    代碼託管

    https://gitee.com/BESTI-IS-JAVA-2018/20165230/commit/5dd42538867b45b2b037b6d2039c2cf622fd26d9code

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

  • 本週學習任務較重,基礎內容有點跟不上,再加上清明假期沒有對以前落下的知識進行彌補,有些吃力。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 13/13 1/30 19/19
第二週 426/426 3/30 12/12
第三週 562/562 4/30 15/15
第四周 1552/1958 5/30 16/16
第五週 1123/3086 6/30 14/14

參考資料

相關文章
相關標籤/搜索