20145302張薇 《Java程式設計》第一週學習總結
教材學習內容總結
- 第三章
- 第三章講的是基本型別,變數,運算子和基本條件語句。
- 基本型別分為:
- 整數:
short
(2 byte),int
(4 byte),long
(8 byte); - 位元組:
byte
,可表示整數範圍為:-128~127,在需要逐位元組處理資料時(如影象處理)使用; - 浮點數:
float
(4 byte),double
(8 byte); - 字元:
char
每個字元佔兩位元組; - 布林:ture表示邏輯真,false表示邏輯假。
- 常用格式控制符號:與C語言相同,在教材的P56。注意換行符:不是“/n”,而是“%n”。
- 註釋符號:與C語言相同,
//
與/* */
的使用。 - 變數:
- 基本規則:變數名不可使用數字作開頭,不可與關鍵詞名稱同名,不可以使用特殊字元,不可以與Java保留字同名,通常以小寫字母開始,之後每個單詞大寫,如“jiaoCai”;
- 字面常量:十進位制直接書寫數字,十六進位制以0x開頭,八進位制以0開頭;
- 常用忽略符號:基本和C一樣,教材P59;
- 數字常量表示法:為了更加清楚的表示數字,可以隔幾位加一個下劃線。
- 運算子:
- 算術運算:
+
,-
,*
,/
,%
,算數規則也是先乘除後加減; - 比較運算:
<
,>
,<=
,>=
,==
,!=
.比較條件成立時布林ture表示,不成立用布林false表示; - 條件運算子:條件式?成立返回值:失敗返回值。與verilog語言相通;
- 邏輯運算:
||
,&&
,!(||)
; - 位運算:即二進位制運算。
&
與,|
或,^
異或,~
取反。注意不要與邏輯運算混淆; - 遞增遞減運算:
i++
,i--
,++i
,--i
; - 指定運算:用於簡便程式。教材P65,66。
- 型別轉換:
- 小數的預設型別都是
double
,若想利用float
來儲存,需要在小數後面加“F”,如“float PI=3.14F;”
; - 科學計數法顯示的1.25000+02,表示的是小數點向後移動多少位。
- 條件語句:
if else
if(條件句){成立執行語句;} else {不成立執行語句;}switch
switch(變數或表示式){case 數字等符號:執行句;case 數字等符號:執行句;……default:執行句;}for迴圈
for(初始化;迴圈條件;重複式){描述句;}while迴圈
while(條件語句){描述句;}break
用於跳出迴圈,continue
用於革除那一句。
教材學習中的問題和解決過程
- 問題1:教材P54關於Unicode 6.2.0編碼和UTF-16 Big Endian的概念不明白是什麼含義。
- 解決過程1:百度其概念,發現了一篇介紹這個的部落格,對於為什麼每個字元佔兩個位元組有些懂了。
- 問題2:在看P60程式碼時發現換行符號不是
\n
,而是%n
。 - 解決過程2:教材P56表明windows系統會自行轉換,但是P59的常用忽略符號裡面的換行符是
\n
,這裡還是不太明白。 - 問題3:看教材時不明白java保留字是什麼意思。
- 解決過程3:百度一下,明白Java保留字是指現有Java版本尚未使用,但以後版本可能會作為關鍵字使用的字。
有byValue, cast, false, future, generic, inner, operator, outer, rest, true,var ,goto ,const,null 。 - 問題4:不明白為什麼當count達到最大值後,再加一就會變成負數,那加count_max+2是-2147483647嗎?
解決過程4:程式設計看結果。
果然是這樣,為什麼要這樣計算,不明白。
程式碼除錯中的問題和解決過程
- 問題1:在IDEA建立程式時,我不小心沒有將專案建立到專門放java程式的資料夾,結果在編譯程式時,點選“Run…”後沒有出現我的類名稱。
解決過程1:我將資料夾直接拖入專門盛放java程式的資料夾,結果IDEA中就沒有程式碼了,而且原先資料夾仍然在,只是裡面的東西少了,我用IDEA執行了一下
.iml
結果出現了下圖
- 最終我只能又敲了一遍程式碼。還有什麼辦法嗎?
- 問題2:教材P76的無聊遊戲,看誰可以最久不撞到5這個數字,敲完教材範例程式碼後我覺得應該對於數字計數,這樣可以更直觀,對於數字多的時候會更加方便,不用一個一個的數了。
- 解決過程2:
程式碼1如下:
出現瞭如下結果:
我將
println
換成printf
後,程式碼如下:
執行結果成功了:
這是為什麼?
其他(感悟、思考等,可選)
- 不斷實踐是非常重要的,只看範例程式碼是發現不了問題的,我們一定要積極敲程式碼。
- 在編程式碼的時候一定要注意細節,注意字母的大小寫,還有建立程式的時候需要注意資料夾的分類。
- java和C語言還是有一些不同的,但是是相通的,學習方法是一樣的,學習java對本學期的資料結構與演算法課程也有幫助。
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 1500行 | 15篇 | 400小時 | |
第一週 | 10/10 | 2/2 | 10/10 | 基礎知識 |
第二週 | 100/100 | 3/3 | 35/35 | 語法知識 |
第三週 | 100/300 | 3/4 | 35/60 | |
第四周 | 100/500 | 3/5 | 35/90 |