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

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

教材學習內容總結

chapter2

  • 邏輯類型boolea只能賦值truefalse
  • Java沒有無符號整數類型,例如unsighed int m是錯誤的
  • 可用字符在Unicode中排序的十六進制裝義(用u作前綴)表示該字符;char x='a'等價於char x=97
  • 浮點類型float保留8位有效數字,double保留16位有效數字。例如float x=12345.123456789f中實際存儲的值爲12345.123.
  • 輸入字符串過長時,不可在" "中回車,應拆解成" "+ " "而後在+號先後進行回車換行。
  • Java不容許在聲明數組中的方括號內指定數組元素的個數
  • int []a,b[]等價於int a[],b[][]
  • 兩個相同類型的數組若是具備相同的引用,它們就有徹底相同的元素

chapter3

運算符、表達式和語句這章所講的內容與C語言有不少相同之處,所以本章的內容總結主要是針對二者的不一樣html

  • 關係運算符與表達式的運算結果爲boolean型,邏輯運算與表達式的操做元必須是boolean
  • switch(表達式)中「表達式」的值能夠爲byte、short、int、char型,但不可爲long型
  • do while與while的區別在於do while中的循環體至少被執行一次
  • 執行break語句則結束整個循環;continue語句結束本次循環,進行下一次循環
  • for 語句與數組的格式爲:java

    for(聲明循環變量:數組的名字),其中聲明循環變量的類型必須與數組類型相同git

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

  • 問題1:如何理解Java中不存在byte/short型常量的表示法,但能夠把必定範圍內的int型常量賦值給byte/short型變量?
  • 問題1解決方案:經過查詢,我找到這樣一個說明數組

    常量有兩種,一種是final 的變量,因爲不能修改,你們稱是常量,另外一種是真實的值,例如「abc」 這纔是正統的常量。學習

有一列數 1, 2L,3.0, 4.0f。系統會認爲第一個是int常量,第二個帶 L是long型常量,第三個是double型,第四個是 float型。 可是 byte/short類型沒有這樣的寫法。但只要定義final byte A=1; final short B=2;則A和B就是對應的常量了。測試

  • 問題2:如何理解教材中的例子
byte a = (byte)128;
   byte b = (byte)(-129);
   那麼a和b獲得的值分別是-128和127
  • 問題2解決方案:跟隨微視頻的課程學習,我是這樣理解的:byte的取值範圍爲-128~127,以此爲一個週期無限循環。存儲中應是如此排列:……12六、12七、-12八、-127……0,1,……127,-128……
  • 問題3:以下程序,我理解的輸出結果應爲x=-6,y=0,事實上代碼運行結果爲x=-5,y=-1
public class E4 {
    public static void main (String args[]) {
      int x=1,y=6;
      while(y-->0) {
        x--;
      }
      System.out.print("x="+x+",y="+y);
    }
}
  • 問題3解決方法:.net

    x--表示在使用過x以後,使x的值減1
    以此本題應如此理解設計

循環次數 判斷是否循環時的y值 y的實際值 x的實際值
1 6 5 0
2 5 4 -1
3 4 3 -2
4 3 2 -3
5 2 1 -4
6 1 0 -5
7 0 -1 /

當判斷到y=0時結束循環體,此時y的取值爲-1,x=-5調試

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

  • 問題1:如何打出Example2_1中的日文字符あ
  • 問題1解決方案:第一種是直接在Ubuntu中選擇虛擬鍵盤裏的平假名,即可以看到;第二種是在Ubuntu下安裝日語輸入法,而後敲擊按鍵a即可找到。
  • 問題2:
  • 問題2解決方案:在"Byte.MIN_VALUE"至"+Byte.MAX_VALUE的"至"前缺乏+,加上便可
  • 問題3:
  • 問題3解決方案:注意()使用的是英文格式便可

代碼託管

statistics.sh腳本的運行結果截圖
code

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

上週的考試能夠說是措手不及,我調試的章節代碼只是微視頻裏講解的幾個,不知道這個任務是包括章節習題裏面的全部代碼,但本週我便改正了這個問題,將章節裏出現的完整的代碼都調試一遍。還有就是本週課堂測試包的考點也給了我深入的教訓,老師第一週課上講解的內容我有認真地作筆記記錄,但由於不是第一章的學習內容,課後便沒有再複習,致使我考試時明明有印象卻由於一些細節的問題沒能完成任務。在從此的學習中,老師上課講過的知識點都會認真地加以鞏固的。

學習進度條

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

參考資料

相關文章
相關標籤/搜索