Switch多分支語句
switch語句是多分支選擇語句。常用來根據表達式的值選擇要執行的語句。例如,在某程序中,要求將輸入的或是獲取的用0~6代表的星期,轉換為用中文表示的星期。該需求通過偽代碼描述的算法如下:
輸入的或是獲取的表示星期的數字
如果等於0, 則輸出星期日
如果等於1, 則輸出星期一
如果等於2, 則輸出星期二
如果等於3, 則輸出星期三
如果等於4, 則輸出星期四
如果等於5, 則輸出星期五
如果等於6, 則輸出星期六
從上面的算法中,大家可能會想到通過嵌套的if語句實現,但是由於分支較多,實現后的代碼較長,從而降低程序的可讀性。不過Java還提供了另外一種語句來處理這類情況。下面將給出其具體實現代碼。
switch(表示星期的數字){
case 0:輸出星期日;
break;
case 1:輸出星期一;
break;
case 2:輸出星期二;
break;
case 3:輸出星期三;
break;
case 4:輸出星期四;
break;
case 5:輸出星期五;
break;
case 6:輸出星期六;
break;
}
實際上,上面的代碼就是switch語句的基本格式。但是SWitch再做一些范圍類的判斷就顯得有些“弱”,比如輸出一個成績:在>=90和<=100之間就為“優”。“>=80h和<90”之間就輸入“良好”。 等等就有些繁瑣,這時if的優勢就體現出來了。
int core = 90; //
if(core >=90&&core<=100){
輸出成績為優秀;
}else if(core>=80&&<=89){
輸出成績為良好;}
……
}else{……}。基本上switch能做到的事情if 都能夠做,而且更好.不像switch后的變量有諸多限制只能為string byte char int類型.所以除了上述類似第一例那樣的情況,建議大家還是使用if條件表達式。
