if語句,if else if語句和switch case語句都屬於流程控制語句。
在只需要判斷一個條件的時候,自然是使用if語句方便有效;但是當判斷條件很多的時候,我們可以使用多個if語句或者if...else if語句或者switch case語句。
對於這三者的選擇,下面將做一些具體分析;對於后兩者的選擇,又將涉及到程序執行效率的問題。
if...else if語句和多個if語句的區別還是很大的,if...else if在任何一個環節滿足條件的時候就將會終止判斷,只處理一個滿足條件的情況;而對於多個if語句,
將會對每一個判斷條件進行判斷,自然而然會導致程序的執行效率降低。在多個判斷條件的情況下,使用if...else if語句相對於使用多個if語句而言,可以減少程序
的判斷次數,提高效率。
在多個判斷條件的情況下,不僅可以使用if...else if語句,還可以使用switch case語句。一般情況下,當判斷條件較多的情況下,使用switch case語句的
效率會高於使用if...else if語句。switch...case與if...else if的根本區別在於,switch...case會生成一個跳轉表來指示實際的case分支的地址,而這個跳 轉表的
索引號與switch變量的值是相等的。從而,switch...case不用像if...else if那樣遍歷條件分支直到命中條件,而只需訪問對應 索引號的表項從而到達定位分支的目的。
所以從效率上來說由於if...else if的遍歷性,代碼執行效率是不高的。