一個if語句包含一個布林表示式和一條或多條語句,if 語句的用語法如下:if 語句
if...else語句
if 語句後面可以跟 else 語句,當 if 語句的布林表示式值為 false 時,else 語句塊會被執行。if…else 的用法如下:
if...else if...else 語句
if 語句後面可以跟 elseif…else 語句,這種語句可以檢測到多種可能的情況。
使用 if,else if,else 語句的時候,需要注意下面幾點:
- if 語句至多有 1 個 else 語句,else 語句在所有的 elseif 語句之後。
- if 語句可以有若干個 elseif 語句,它們必須在 else 語句之前。
- 一旦其中一個 else if 語句檢測為 true,其他的 else if 以及 else 語句都將跳過執行。
巢狀的 if…else 語句
使用巢狀的 if…else 語句是合法的。也就是說你可以在另一個 if 或者 elseif 語句中使用 if 或者 elseif 語句。
巢狀的 if…else 語法格式如下:
switch 語句
switch 語句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支。
switch 語法格式如下:
switch 語句有如下規則:
-
switch 語句中的變數型別可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支援字串型別了,同時 case 標籤必須為字串常量或字面量。
-
switch 語句可以擁有多個 case 語句。每個 case 後面跟一個要比較的值和冒號。
-
case 語句中的值的資料型別必須與變數的資料型別相同,而且只能是常量或者字面常量。
-
當變數的值與 case 語句的值相等時,那麼 case 語句之後的語句開始執行,直到 break 語句出現才會跳出 switch 語句。
-
當遇到 break 語句時,switch 語句終止。程式跳轉到 switch 語句後面的語句執行。case 語句不必須要包含 break 語句。如果沒有 break 語句出現,程式會繼續執行下一條 case 語句,直到出現 break 語句。
-
switch 語句可以包含一個 default 分支,該分支必須是 switch 語句的最後一個分支。default 在沒有 case 語句的值和變數值相等的時候執行。default 分支不需要 break 語句。
SWITCH 語句和 IF語句區別:
if和switch都是條件判斷語句,我們可以從效率上來講~ 舉一個很簡單的例子: if(A>B) {A=B;} else {B=A; } 如果將這個例子放在switch 語句中,也並不是不能實現,但是實現起來可能會比較麻煩一些,因為在switch語句中 case中要求的是常量,一般是不能進行邏輯判斷的, 所以這也是if語句優於switch語句的地方! 但是如果您判斷的都是幾個常量的資料,我建議您最好採用switch語句,如下: switch(A) { case:xxxx ///程式程式碼 break; case:xxxxxx ///程式程式碼 break; } http://www.csdnit.com/ 這樣的語句,雖然if語句也是能實現的,但是效能就比switch差的有點遠了
switch使用查詢表的方式決定了case的條件必須是一個個常量。而if-else則可以靈活的多。