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的區別 |