20145302張薇 《Java程式設計》第二週學習總結

20145302張薇發表於2016-03-13

20145302張薇 《Java程式設計》第一週學習總結

教材學習內容總結

  • 第三章
  • 第三章講的是基本型別,變數,運算子和基本條件語句。
  • 基本型別分為:
  1. 整數:short(2 byte),int(4 byte),long(8 byte);
  2. 位元組:byte,可表示整數範圍為:-128~127,在需要逐位元組處理資料時(如影象處理)使用;
  3. 浮點數:float(4 byte),double(8 byte);
  4. 字元:char每個字元佔兩位元組;
  5. 布林:ture表示邏輯真,false表示邏輯假。
  6. 常用格式控制符號:與C語言相同,在教材的P56。注意換行符:不是“/n”,而是“%n”。
  • 註釋符號:與C語言相同,///* */的使用。
  • 變數:
  1. 基本規則:變數名不可使用數字作開頭,不可與關鍵詞名稱同名,不可以使用特殊字元,不可以與Java保留字同名,通常以小寫字母開始,之後每個單詞大寫,如“jiaoCai”;
  2. 字面常量:十進位制直接書寫數字,十六進位制以0x開頭,八進位制以0開頭;
  3. 常用忽略符號:基本和C一樣,教材P59;
  4. 數字常量表示法:為了更加清楚的表示數字,可以隔幾位加一個下劃線。
  • 運算子:
  1. 算術運算:+-*/%,算數規則也是先乘除後加減;
  2. 比較運算:<,>,<=,>=,==,!=.比較條件成立時布林ture表示,不成立用布林false表示;
  3. 條件運算子:條件式?成立返回值:失敗返回值。與verilog語言相通;
  4. 邏輯運算:||,&&,!(||)
  5. 位運算:即二進位制運算。&與,|或,^異或,~取反。注意不要與邏輯運算混淆;
  6. 遞增遞減運算:i++,i--,++i,--i;
  7. 指定運算:用於簡便程式。教材P65,66。
  • 型別轉換:
  • 小數的預設型別都是double,若想利用float來儲存,需要在小數後面加“F”,如“float PI=3.14F;”
  • 科學計數法顯示的1.25000+02,表示的是小數點向後移動多少位。
  • 條件語句:
  • if elseif(條件句){成立執行語句;} else {不成立執行語句;}
  • switchswitch(變數或表示式){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:程式設計看結果。
    20145302張薇 《Java程式設計》第二週學習總結
    20145302張薇 《Java程式設計》第二週學習總結

  • 果然是這樣,為什麼要這樣計算,不明白。

程式碼除錯中的問題和解決過程

  • 問題1:在IDEA建立程式時,我不小心沒有將專案建立到專門放java程式的資料夾,結果在編譯程式時,點選“Run…”後沒有出現我的類名稱。
  • 解決過程1:我將資料夾直接拖入專門盛放java程式的資料夾,結果IDEA中就沒有程式碼了,而且原先資料夾仍然在,只是裡面的東西少了,我用IDEA執行了一下.iml結果出現了下圖
    20145302張薇 《Java程式設計》第二週學習總結

  • 最終我只能又敲了一遍程式碼。還有什麼辦法嗎?
  • 問題2:教材P76的無聊遊戲,看誰可以最久不撞到5這個數字,敲完教材範例程式碼後我覺得應該對於數字計數,這樣可以更直觀,對於數字多的時候會更加方便,不用一個一個的數了。
  • 解決過程2:
  • 程式碼1如下:
    20145302張薇 《Java程式設計》第二週學習總結

出現瞭如下結果:
20145302張薇 《Java程式設計》第二週學習總結

  • 我將println換成printf後,程式碼如下:
    20145302張薇 《Java程式設計》第二週學習總結

  • 執行結果成功了:
    20145302張薇 《Java程式設計》第二週學習總結

  • 這是為什麼?

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

  • 不斷實踐是非常重要的,只看範例程式碼是發現不了問題的,我們一定要積極敲程式碼。
  • 在編程式碼的時候一定要注意細節,注意字母的大小寫,還有建立程式的時候需要注意資料夾的分類。
  • 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

參考資料

相關文章