20145215《Java程序設計》第2周學習總結


20145215《Java程序設計》第二周學習總結

教材學習內容總結

Java語言中的很多基本語法都和C語言類似,在這里我總結一下Java中的基本語法:

標識符:

  • 標識符是程序中自定義的一些名稱。
  • 由26個英文字母大小寫,數字:0-9 符號:_ $ 組成
  • 定義合法標識符規則:
    1、數字不可以開頭。
    2、不可以使用關鍵字。
  • Java中嚴格區分大小寫。
  • 注意:在起名字的時,為了提高閱讀性,要盡量有意義
  • Java中的名稱規范:
    1、包名:多單詞組成時所有字母都小寫,例如xxxyyyzzz。
    2、類名接口名:多單詞組成時,所有單詞的首字母大寫,例如XxxYyyZzz。
    3、變量名和函數名:多單詞組成時,第一個單詞首字母小寫,第二個單詞開始每個單詞首字母大寫,例如xxxYyyZzz。
    4、常量名:所有字母都大寫,多單詞時每個單詞用下划線連接,例如XXX_YYY_ZZZ。

注釋:

  • 單行注釋
    格式://注釋文字
  • 多行注釋
    格式:/* 注釋文字*/
  • 文檔注釋
    格式:/** 注釋文字*/

常量基本類型:

  • 整數:
    short整數(2字節)、int整數(4字節)與long整數(8字節)
  • 字節:
    byte類型(1字節,一般用於逐字節處理數據)
  • 浮點數:
    float浮點數(4字節),double浮點數(8字節)
  • 字符:
    char類型(2字節)
  • 布爾:
    較為特有,只有兩個數值,true和false,不用在意其長度

變量:

  • 變量的數值可以在同一類型范圍內不斷變化
  • 定義變量的格式:數據類型 變量名 = 初始化值;

運算符:

  • 算術運算符:+(數值相加)、-、*、/、%、++、--、+(字符串相加,例如“He”+“llo”,結果為“Hello”)
  • 賦值運算符:=、+=、-=、*=、/=、%=
  • 比較運算符:==、!=、<、>、<=、>=,比較運算符的結果都是布爾型,要么為true,要么為false
  • 邏輯運算符:&、|、^、!、&&、||
  • 位運算符:<<、>>、>>>(無符號右移)、&、|、^、~,位運算是對二進制進行運算

類型轉換:

  • 自動類型提升:所有的byte型、short型和char的值將被提升到int型,其他的操作數是什么類型,計算結果就是什么類型
  • 強制類型轉換:強制將一個類型的操作數轉換為另一個類型,例如:byte b = 3;
    b = (byte)b+4;
    如果此處不進行強制轉換,就會報錯

流程控制:

  • 判斷結構:if-else語句
  • 選擇結構:switch語句
  • 循環結構:while語句、do while語句、for語句
  • 其他語句:break,continue語句等,基本結構語句和C語言類似,在此就不一一贅述。

代碼托管:

具體流程及注意事項可以參考我的另一篇博客(http://www.cnblogs.com/lxm20145215----/p/5268624.html)
代碼托管成功后,在網頁上會有如圖所示的提示:

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

教材第64頁代碼有錯,糾正后代碼如下:

public class Shift
{
    public static void main(String[] args)
{
    int number=1;
    System.out.printf("2 的 0 次方: %d%n",number);
    System.out.printf("2 的 1 次方: %d%n",number << 1);
    System.out.printf("2 的 2 次方: %d%n",number << 1);
    System.out.printf("2 的 3 次方: %d%n",number << 1);
}
}

糾正后的運行結果與課本上的結果一致

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

在運行以下代碼時:

public class Comparison
{
  public static void main(String[] args)
  {
		System.out.println("10 > 5 結果 %b%n",10 > 5);
		System.out.println("10 >= 5 結果 %b%n",10 >= 5);
		System.out.println("10 < 5 結果 %b%n",10 < 5);
		System.out.println("10 <= 5 結果 %b%n",10 <= 5);
		System.out.println("10 == 5 結果 %b%n",10 == 5);
		System.out.println("10 != 5 結果 %b%n",10 != 5);
	}
}

彈出了錯誤

后來通過查閱資料發現println是用於輸出參數內容,然后換行,其參數個數固定為一個,而printf是用於輸出帶各種數據類型的占位符的參數,其參數個數是不定的,所以上面的代碼只能用printf,而不能用println。

心得體會

在我看來,對於目前仍處在菜鳥級別的我們來說,學習java最簡單也是最笨的方法就是敲教材上的代碼,我看到有些人只是一味的在那看代碼、背代碼,卻從不動手去做,到頭來一看到彈出錯誤就慌了神。我覺得很多時候敲書上的代碼是在尋找自己敲代碼的手感,也是在鍛煉自己解決問題的能力,看似沒有什么新意的舉動卻往往是最實用的,也能學到很多東西,比如說上面的這串代碼,如果不經過運行,可能也不會發現printf和println的區別原來有這么大,最終也就這樣含含糊糊過去了。所以說,學習java,從動手敲代碼開始。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時 編寫了Hello Java代碼
第一周 100/100 2/2 12/12 編寫了Hello Java代碼
第二周 200/300 2/4 15/27 理解了printf和println的區別

參考資料


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM