20172303 2017-2018-2 《程序設計與數據結構》第3周學習總結

20172303 2017-2018-2 《程序設計與數據結構》第3周學習總結

教材學習內容總結

  • 瞭解瞭如何建立對象以及別名的使用
  • 瞭解了String類的一些方法的做用和使用方法
  • 知道了Java的標準類庫是按包分組的
  • 學會了在Java中產生隨機數的方法
  • 學會了在Java中使用基本數學函數的方法
  • 基本學會了NumberFormate類和DecimalFormat類的使用方法
  • 學會了枚舉型的使用

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

  • 問題1:作SR3.7時,s1.charAt(1)出現的結果是Foundation中的o而不是F
  • 問題1解決方案:改爲s1.charAt(0)後出現的結果是F,
    經過此次實驗瞭解了這個方法所說的「返回指定索引處的那個字符」是從0開始的
  • 問題2:不是很清楚靜態方法和非靜態方法的區別
  • 問題2解決方案:經過在網上查找,本身總結了大概有如下幾點區別:
    • 靜態方法要使用static進行修飾的,但非靜態方法不須要。
    • 靜態方法在建立對象前就可使用了,非靜態方法必須經過new出來的對象調用。
    • 非靜態方法能夠訪問類中的任何成員,靜態方法只能訪問類中的靜態成員。
    • 靜態方法效率上要比實例化高,但缺點是不自動進行銷燬。
  • 問題3:PP3.3中間三位隨機數不能大於655一開始不會作,聽好多人說要使用後面學的if語句
  • 問題3解決方法:上課聽了老師講的方法以後恍然大悟,感慨本身仍是不夠靈活_(:з」∠)_

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

  • 問題1:虛擬機藍屏了。當時直接心態崩了。
  • 問題1解決方案:去問了王老師,老師說是我上回操做不當致使圖形界面損壞(我記得我上回的操做是直接在vim中嘗試關閉虛擬機,正常關機不行就使用了強制關機。),使用Ctrl+Alt+F2仍是能夠進行命令操做的,可是界面會很難看,
    而且全部與圖形有關的東西都不能用(能夠說就是所有操做都只能使用命令行來輸入,右鍵/左鍵/點鼠標都是沒有用的)。老師提供了兩種解決方案,一種是進行修復,老師說雖然只是輸幾行代碼便可,但不能保證成功;第二種方法是從新裝一個虛擬機。我最後實施了第二個方案從新花時間重裝了一個虛擬機(╥╯^╰╥)

代碼託管

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

上週考試錯題總結(正確爲綠色,錯誤爲紅色)

  • 錯題1:Of the following types, which one cannot store a numeric value? (在下列數據類型中,哪個不能存儲一個數值型數據?)
    • A . int
    • B . byte
    • C . float
    • D . char
    • E . all of these can store numeric values (以上全部類型均可以存儲數值型數據)
  • 緣由:當時學的時候不是很清楚數值型和字符型的區別
  • 理解狀況:經過本週的學習明白了數值型和字符型的區別。最明顯的區別應該是字符型數據先後須要打雙引號,但數值型不須要。
  • 錯題2:What value will z have if we execute the following assignment statement? float z = 5 / 10; (若是咱們執行下面的賦值語句,獲得的z將會是什麼值?)
    • A . z will equal 0.0 (z將等於0.0)
    • B . z will equal 0.5 (z將等於0.5)
    • C . z will equal 5.0 (z將等於5.0)
    • D . z will equal 0.05 (z將等於0.05)
    • E . none of the above, a run-time error arises because z is a float and 5 / 10 is an int (以上都不對,由於z是float類型,5 / 10是int類型,因此會發生運行時錯誤)
  • 緣由:過度拘泥於整型和浮點型是兩種不一樣的表示方法,忘記實際上是能夠轉換的。
  • 理解狀況:int值也能夠被儲存在賦值爲float的變量中。
  • 錯題3:A cast is required in which of the following situations? (下列哪一種狀況須要強制轉換?)
    • A . using charAt to take an element of a String and store it in a char (使用charAt來獲取字符串元素並將其存儲爲char類型)
    • B . storing an int in a float (將一個int類型的數存儲爲float類型)
    • C . storing a float in a double (將一個float類型的數存儲爲double類型)
    • D . storing a float in an int (將一個float類型的數存儲爲int類型)
    • E . all of the above require casts (以上全部狀況都須要強制轉換)
  • 緣由:在閱讀課本的過程當中,字符型這一塊理解得不是很好,因此這回測試不少錯題都是錯在這一部分。
  • 理解狀況:float的儲存空間大於int,因此只能強制轉換。其他選修都是轉換的類型的儲存空間小於被轉換的類型。
  • 錯題4:If x is an int and y is a float, all of the following are legal except which assignment statement? (若是x是一個int類型的數,y是一個float類型的數,下面全部賦值語句中哪一個不合法?)
    • A . y = x;
    • B . x = y;
    • C . y = (float) x;
    • D . x = (int) y;
    • E . all of the above are legal (以上所有合法)
  • 緣由:仍是基本數據類型這一部分自學的很差,不少概念都混淆了,該糾結整型與浮點型區別時不糾結,不應糾結的時候亂糾結(ー`´ー)
  • 理解狀況:整型不能接受一個浮點型。
  • 錯題5:A double is wider than a float and a float is wider than an int. (一個double類型的數比float類型的數更寬泛,一個float類型的數比一個int類型的數更寬泛。)
    • A . true
    • B . false
  • 緣由:與錯題3屬於同一個問題。
  • 錯題6:You cannot cast a String to be a char and you cannot cast a String which stores a number to be an int, float or double. (你不能將字符串強制轉換爲char類型,也不能將一個字符串強制轉換爲int、float或double類型。)
    • A . true
    • B . false
  • 緣由:以爲後一句是對的,可是仍是由於對字符型那塊概念不清因此以爲前面是錯的。
  • 理解狀況:char類型包含在字符串類型中。

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

  • 這周與前兩週最大的不一樣就是助教會常常過來解決咱們的問題,不少同窗都積極提出問題,可是很遺憾我幾乎沒有問過問題。在遇到問題時,我總喜歡先自行找方法解決,若是解決不了的話再問同窗,問同窗也不行的狀況下才會去問助教或者老師。然而我這周只遇到了一個同窗也解決不了的問題,最後是找老師解決的。
  • 我以爲愛問問題的人有兩種:一種是勤于思考,善於用腦,在理解現學知識的狀況下能想到一些更深入或者關於細節的有價值的問題的人;還有一種是不喜歡獨立思考,遇到問題不想着本身解決而是無限次地依靠別人來解決問題的人,這類人問的問題都比較簡單且價值不是很大。我以爲起碼如今的我不是第二種人,但在接下來的學習過程當中我但願我能努力成爲第一種人,這樣對java的學習也有很大幫助。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 120/120 1/1 9/9
第二週 246/366 1/2 9/18
第三週 785/1121 1/3 15/33 學會了使用IDEA
  • 計劃學習時間:15小時
  • 實際學習時間:15小時
  • 改進狀況:這個星期由於身體恢復得不錯因此有了不少敲代碼練習的時間,開心ヾ(◍°∇°◍)ノ゙

參考資料

相關文章
相關標籤/搜索