DAY_02淺談ifelse與switch語句的不同 菜狗子的修煉之路

switch 進行一次條件判斷後直接執行到程序的條件語句.
if...else 有幾種條件,就得判斷多少次.   //可能這就是所說的,效率不同的根源所在吧
if...else可以進行條件範圍的判斷,switch只能進行具體數值的的判斷
eg:
if(a>10&a<20){

//程序代碼

}elseif(a<=20&a>30){

//程序代碼

}

完成上面的代碼對於switch來說,就是很麻煩的事情了

switch(number){
case 1:
        //程序代碼
        break;
case 2:
        //程序代碼
        break;
}
實現上面的功能用switch效率就會更高些
在if語句中當判斷結果爲true也就時,就會進入到相應的if(或eleseif)中執行程序代碼。然後跳出if...else 語句塊執行if後面的程序代碼,而switch則是當找到某一個case與判斷條件一致時,進入到相應的case中執行代碼,並查看是否該case中是否有break語句,如果有break則跳出switch,轉到後面的程序代碼執行,如果沒有則會繼續執行下面的case語句中的程序代碼,直到遇到break或者switch完成,才轉入到switch下面的代碼進行執行

if可以判斷具體的值和區間,並且可以判斷布爾類型的值

switch可以判斷具體值和區間(區間不應太大),但不能判斷布爾類型的值

如果判斷的具體值不多,並且符合byte,short,int,char這四種數據類型,建議使用switch;其他情況,對區間的判斷,對結果爲boolean類型的判斷,可以使用if(if的判斷範圍更廣)

總結來說:在確切知道條件結果,並且結果有限下的條件下可以使用switch,在不能確切表示結果的情況下最好用if...else,在使用switch時候一定要注意break的使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章