People Lack Willpower,Rather Than Strength!
選擇結(jié)構(gòu)
-
1.switch注意點:
case語句的穿透問題,switch里面的case只要匹配一次其它的都失效,這樣break才有用武之地!
switch條件類型,表達式的類型(case語句后的值)必須是整型或可以轉(zhuǎn)變?yōu)檎偷闹?(short、char和int類型)。float/double不行!!!
-
case值的規(guī)定:
- 必須是是整型或可以轉(zhuǎn)變?yōu)檎偷闹? float/double不行!!
- 如果在case后面
定義的變量必須加上大括號. - case語句可以有任意多句,可以不用加括號“{}”
default的位置問題:前后都可以,注意使用break就OK!
-
2.if語句和switch語句選擇
- 分支比較多且無法窮盡或進行大量列舉 時最好用if, Switch對遇見判斷非常不利
- 如果數(shù)據(jù)量不是很大, 并且數(shù)據(jù)是固定的可以用Switch
- 理論上Switch的
效率比if高
循環(huán)結(jié)構(gòu)
-
循環(huán)結(jié)構(gòu)中存在的思想:
- 累加思想!
- 計數(shù)器思想!
-
while循環(huán)陷阱:
- 判斷條件是否相等時,一般把具體數(shù)值寫在==前面!
- while后大括號如果省略,不可以定義變量,否則作用域混亂!
- 死循環(huán)!
-
break
- 使用場合: 1.switch語句; 2.循環(huán)!
- 注意:在多層循環(huán)中一個break語句只能外跳一層!
break,continue,return后面不能有語句,因為執(zhí)行不到!
do while和while的區(qū)別:先判斷還是先執(zhí)行的問題!
for與while的區(qū)別:累加變量生存期的問題!
-
for循環(huán)的其他形式:
- 表達式省略: for(; ;)相當于while(1),死循環(huán)!
- 逗號表達式,整個逗號表達式的值就是最后一個表達式的值!
-
循環(huán)嵌套:
- 執(zhí)行總次數(shù)= 內(nèi)圈循環(huán)次數(shù)*外圈循環(huán)次數(shù);
- 尖尖朝上,改變內(nèi)循環(huán)的條件表達式,讓內(nèi)循環(huán)的條件表達式隨著外循環(huán)的i值變化
- 尖尖朝下,改變內(nèi)循環(huán)的初始化表達式,讓內(nèi)循環(huán)的初始化表達式隨著外循環(huán)的i值變化