問題闡述
通常情況下,switch 語句比一系列嵌套的 if 語句更有效,那么是否可以用 switch 分支語句代替 if 條件語句呢?
在實(shí)際編程過程中,并不是所有的 if 條件語句都可以用 switch 分支語句代替。由于switch 語句的表達(dá)式只能測試 byte、short、int 或 char 類型的相等情況,而 if 語句可以計(jì)算任何類型的布爾表達(dá)式,所以對(duì)于判斷非相等情況時(shí),就不能用 switch 語句代替 if 語句。
例如,下面的用于比較兩個(gè)變量大小的 if 語句,就不能使用 switch 語句代替。
int a = 36; //聲明 int 型變量 a,并賦初值
int b = 77; //聲明 int 型變量 b,并賦初值
if (a > b) { //判斷 a 是否大于 b
System.out.println("變量 a 大于變量 b"); //如果條件成立,輸出的信息
}else{
System.out.println("變量 a 小于變量 b"); //如果條件不成立,輸出的信息
}
點(diǎn)評(píng)
在可以使用switch語句代替if語句的情況下,也最好遵循下面的原則:如果條件在3重之內(nèi),最好使用if條件語句,如果超過了3重,則最好使用switch分支語句。