20172315 2017-2018-2 《程序設計與數據結構》第五周學習總結
教材學習內容總結
- 條件語句和循環語句可用於改變控制流,使程序不按線性方式運行。
- 在條件語句和循環語句中使用相等性運算符而不是使用=,相等性運算符比算術運算符優先級低。
- !為非,&&為與,||為或。
- 語句塊必須使用括號
- if的嵌套可使程序在得到前一個判斷結果之后再進行另一個判斷
- 浮點數二進制數位都相等時,這兩個浮點數才相等
- 字符也可以比較大小
- 比較對象可以使用equals方法
- 迭代器可用於一次處理某個集合
- switch中最好加上break和default子句
- 條件運算符可代替if-else語句
教材學習中的問題和解決過程
- 問題1:不太了解字符比較
- 問題1解決方案:查閱百度。 參考資料
- 問題2:對於迭代器了解不深刻
- 問題2解決方案:同樣是詢問百度~參考資料
- 問題3:對於ArrayList類了解不深刻
- 問題3解決:反復閱讀教材及例5.11后查閱了資料
代碼調試中的問題和解決過程
-
問題1:習慣性的忘記在語句結束后加上“;”
-
問題1解決方案:強迫自己在寫完一個語句后檢查應不應該加上“;”
-
問題2:經常在條件和循環語句的條件中把=與==弄混
-
問題2解決方案:仔細看教材上的定義,知道了=與==是有很大區別的
-
問題3:寫pp5.7時發現用例5.9的方法使這個程序繼續運行直到用戶退出發現程序直接就退出了
-
問題3解決:仔細檢查代碼和跟同學討論之后發現是要定義2個Scanner方法才能實現用戶主動退出程序
代碼托管
(statistics.sh腳本的運行結果截圖)
上周考試錯題總結
- 錯題1及原因,理解情況
In order to preserve encapsulation of an object, we would do all of the following except for which one?
A . Make the instance data private
B . Define the methods in the class to access and manipulate the instance data
C . Make the methods of the class public
D . Make the class final
E . All of the above preserve encapsulation
封裝意味着類包含操作數據所需的數據和方法。 為了正確地保護封裝,不應該從類的外部直接訪問實例數據,因此實例數據將變為專用,並定義方法來訪問和操作實例數據。 此外,訪問和操作實例數據的方法已公開,其他類可以使用該對象。 保留字“final”用於控制繼承,與封裝無關。 - 錯題2及原因,理解情況
Consider a sequence of method invocations as follows: main calls m1, m1 calls m2, m2 calls m3 and then m2 calls m4, m3 calls m5. If m4 has just terminated, what method will resume execution?
A . m1
B . m2
C . m3
D . m5
E . main
正確答案: B
你的答案: D
一旦方法終止,控制就會繼續使用調用該方法的方法。 在這種情況下,m2調用m4,以便當m4終止時,m2被恢復。 - 錯題3及原因,理解情況
Java methods can return more than one item if they are modified with the reserved word continue, as in public continue int foo( ) { ... }
A . true
B . false
正確答案: B
你的答案: A
所有的Java方法都會返回一個單獨的項目,無論它是基本數據類型還是void。 保留字continue用於退出循環的其余部分並再次測試條件。 - 錯題4及原因,理解情況
Defining formal parameters requires including each parameters type.
A . true
B . false
正確答案: A
你的答案: B
為了使編譯器檢查方法調用是否正確,編譯器需要知道傳遞參數的類型。 因此,所有形式參數(在方法頭中定義的)必須包含它們的類型。 這是使Java成為強類型語言的一個元素。 - 錯題5及原因,理解情況
Every class definition must include a constructor.
A . true
B . false
正確答案: B
你的答案: A
Java允許在沒有構造函數的情況下定義類,但是,在這種情況下使用了默認的構造函數。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 287/481 | 2/4 | 18/38 | |
第三周 | 320/801 | 3/7 | 22/60 | |
第四周 | 900/1600 | 2/9 | 30/90 | |
第五周 | 807/2407 | 2/11 | 40/130 |