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

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

教材學習內容總結

  • 編程語言歷經面向機器語言、面向過程語言、面嚮對象語言三個發展階段。
    • 面嚮對象語言的三個特色:封裝性、繼承性、多態性
  • 類封裝着數據和對數據的操做
    • 類聲明中類名如果由幾個「單詞」複合而成時,每一個單詞首字母應大寫
    • 成員變量在整個類內有效,其有效性與它在類體中書寫的前後位置無關
    • 方法體可定義局部變量,局部變量的有效範圍與書寫位置有關,自局部變量聲明以後有效
    • 方法體內局部變量名字與成員變量名字相同時,成員變量被隱藏,如果想使用被隱藏的成員變量,必須使用關鍵字this
    • 對成員變量的操做只能放在方法中
    class A {  // 編譯沒法經過
         int a;
         a = 12;  //賦值語句應在方法中
         }
  • 構造方法的名字必須與它所在的類的名字徹底相同,並且沒有參數
    • 對象(變量)負責存放引用,分配給對象的變量稱做對象的實體
  • 重要結論:一個類聲明的兩個對象若是具備相同的引用,兩者就具備徹底相同的變量(實體)
  • 類變量是和該類建立的全部對象相關聯的變量,實例變量僅僅是和相應的對象關聯的類
    • 類方法不能夠操做實體變量
  • 一個類中能夠有多個方法具備相同的名字,但這些方法的參數必須不一樣,參數不一樣指的是參數的個數不一樣或參數的個數相同,但參數列表中對應的某個參數的類型不一樣
    • 方法的返回類型和參數的名字不參與比較
  • Java語句不容許用戶程序使用Java做爲包名的第一部分;有包名的類不管如何也沒法使用無包名的類
  • 實例方法老是能夠操做該類中的實例變量,類方法老是能夠操做該類中的類變量,與訪問限制符沒有關係
  • 編寫清單文件時,注意「Manifest-Version」和「1.0」之間,「class:」和類之間,以及「Created-By」和「1.8」之間有且只有一個空格html

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

  • 問題1:在例子15中,源文件Student.java和Example4_15編寫都沒有錯誤,但Student.java編譯能夠經過,Example4_15卻顯示找不到符號
  • 問題1解決方法:在認真理解如何運行包後,我將存放源文件的的目錄調整成如下結構,問題便解決了。
  • 問題2:運行例子9的時候出現以下錯誤:
  • 問題2解決方法:經過檢查代碼,發現了在SIM.java源文件中出現了大小寫錯誤,修正後即可。這也提醒了我在運用對象的組合的時候,複用對象所在類編寫錯誤一樣會致使程序沒法運行。
  • 問題3:在例子18中,運行文件出現以下錯誤:
  • 問題3解決方法:由於該源文件使用了包,所以要退出至chapyer4目錄層次編譯纔可。java

代碼託管

(statistics.sh腳本的運行結果截圖)
git

上週考試錯題總結

  • 錯題1
    • if(表達式)中表達式的值必須是boolean型;swith(表達式)中表達式的值能夠是byte、short、int、char型,但不可爲long型。答題時混淆了這兩個知識點
  • 錯題2
    • 以0x開頭表明十六進制,|是按位或,本題即將0xaa 用二進制表示爲 10101010 ,0x55 用二進制表示爲 01010101 ,按位或以後爲11111111,十進制數爲255,十六進制數爲 0xFF
  • 錯題3
    • 「>>」表示右移,若是該數爲正,則高位補0,若爲負數,則高位補1;>>>表示無符號右移,也叫邏輯右移,即若該數爲正,則高位補0,而若該數爲負數,則右移後高位一樣補0
  • 錯題4
    • ^在運算中表示異或,<<表示左移兩位即*4
  • 錯題5
    • --1先減1再將生成的數用於運算
  • 錯題6
    • Float是float提供的封裝類,不是基本數據類型。
  • 錯題7
    • 題目讓選擇錯誤的兩項,而我當作了選擇正確的,這個實在是很低級的錯誤
  • 錯題8
    • 執行nextDouble()方法時發生阻塞;下次碰到這種不肯定的題型,必定將代碼調試一遍,不只能夠避免錯誤,還能夠加深理解
  • 錯題9
    • char型變量聲明不可以使用雙引號賦值;不可將多個字符賦值給char變量;使用\u前綴表示時,必須爲十六進制。
  • 錯題10
    • 這題我仍是堅持本身的選項,書本里的註釋也顯示該排序法爲選擇排序法
  • 錯題11
    • Java不容許在聲明數組的方括號內指定數組元素的個數;不可以使用雙引號對char型變量賦值編程

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

  • 本週的學習量挺大的,能夠說是比前兩週的總和還要多,因而可知把課業分攤到平時是十分有必要的,只有天天按部就班地學習,纔不會讓功課堆積形成太大負擔。此次因爲短期內接受這麼多的知識量,即便我認真跟着視頻聽講也作了筆記,可依舊對本章所講的內容有一種混沌感,所以還得花時間去深刻思考和理解這些知識點。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 37/37 1/1 15/15
第二週 398/429 2/3 15/30
第三週 753/1167 1/4 20/50

參考資料

相關文章
相關標籤/搜索