if語句,if...else if語句和switch...case語句的區別和分析
當我們有一個判斷條件的時候,顯然用if語句比較方便有效。但當判斷條件很多的時候,我們可以使用if語句或者if....eles 語句和switch case 語句。
if...else if語句和多個if語句的區別還是很大的,if...else if在任何一個環節滿足條件的時候就將會終止判斷,只處理一個滿足條件的情況;而對於多個if語句,將會對每一個判斷條件進行判斷,自然而然會導致程式的執行效率降低。在多個判斷條件的情況下,使用if...else if語句相對於使用多個if語句而言,可以減少程式的判斷次數,提高效率。
if語句的格式:
if(比較表示式1) {
語句體1;
}else if(比較表示式2) {
語句體2;
}else if(比較表示式3) {
語句體3;
}
...
else {
語句體n+1;
}
執行流程:
首先計算比較表示式1看其返回值是true還是false,
如果是true,就執行語句體1,if語句結束。
如果是false,接著計算比較表示式2看其返回值是true還是false,
如果是true,就執行語句體2,if語句結束。
如果是false,接著計算比較表示式3看其返回值是true還是false,
如果都是false,就執行語句體n+1。
在多個判斷條件的情況下,不僅可以使用if...else if語句,還可以使用switch case語句。一般情況下,當判斷條件較多的情況下,使用switch case語句的效率會高於使用if...else if語句。switch...case與if...else if的根本區別在於,switch...case會根據你的條件直接跳轉到相應的case語句那。switch...case不用像if...else if那樣遍歷條件分支直到命中條件,而只需訪問對應索引項從而到達目的語句那。
總結switch語句和if語句的各自使用場景
switch建議判斷固定值的時候用
if建議判斷區間或範圍的時候用
用switch能做的,用if都能做,單反過來則不行