20145320 《Java程式設計》第2周學習總結
教材學習內容總結
3.1 型別、變數與運算子
基本型別
整數(short、int、long) 、位元組(byte) 、浮點數(float/double) 、字元(char):漢字、英文字元都是雙位元組的
布林(boolean):boolean型別中的true/false不能與其他型別進行運算
註釋
三種註釋 //:單行、/** /:多行、/** */:javadoc文件註釋
常量
整數可以用二進位制(0bdddd),八進位制(0ddd)、十進位制(dddd)、十六進位制(0Xdddd),Java中都是有符號下整數,沒有unsigned int之類
浮點數科學計數法
小數(如1.4)預設型別是double,1.4f或1.4F的型別才是float
字元可以用Unicode 字元編碼(Code Point)來表示。
運算子
算術運算 +、-、*、/、%
關係運算: !=>、>=、<、<=、==
條件表示式 ? 成立時返回值:失敗時返回值
邏輯運算:運算結果是boolean值:true Or false, 與(&&) 、或(||) 、非(!)
位運算 :運算結果為位串(位向量)
與(&):全1為1,有0則0 ;或(|):全0為0,有1則1 ;非(~):反碼形勢表示 ;異或(^):相同為0,不同為1 ;左移(<<):最右補0 ;算術右移(>>):右移後,正數最高位補0,負數最高位補1 ;邏輯右移(>>>):右移後,最高位總是補0 ;遞增、遞減: i++,i-- ++i,--i
賦值
+=,=,-=, *=, /=, %=,&=, |=, ^=, <<=, >>=
型別轉換
短->長是安全的,長->短必須強制轉換
表示式中含不同型別,以長度最長的為準,其他的會進行型別提升(Promote)
3.2流程控制
結構化程式設計
包含三種語句
順序:計算機結構決定語句是順序執行的,正常情況下都是順序執行的
分支:分支用來處理異常情況的
迴圈:執行最常用的語句
分支
型別 if、 if...else、 if...else if、 switch...case, switch可用於整數、字元、字串等
default 分支的各種情況要滿足不重複,不遺漏的原則
迴圈
型別 for、 while、 do...while, break/continue 配合標籤可以實現goto的效果, goto可用於從多重迴圈是跳出來
教材學習中的問題和解決過程
有時我們在賦值時會遇到,所賦的值超過定義的範圍,例如假如我們在定義為byte時就很容易超過其上限127;或者精度不對,例如利用float在定義時我們所賦的值會超過其精度,從而出錯
程式碼除錯中的問題和解決過程
易知 i =8,但是 j呢?8?還是8.8?
結果
出錯了!為什麼,難道是不能強制把int 型的 i 轉化為double型 的 j?
經過老師的提示我改進了這個程式,終於可以執行出結果了
結果,j 的值竟然是0.0....
學習進度條
|
程式碼行數(新增/累積) |
部落格量(新增/累積) |
學習時間(新增/累積) |
重要成長 |
目標 |
3500行 |
28篇 |
300小時 |
|
第一週 |
300/300 |
1/1 |
20/20 |
|
第二週 |
500/500 |
2/2 |
40/40 |
|
第三週 |
|
|
|
|
第四周 |
|
|
|