Java中switch和if語句的區別
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下面的代碼進行執行
總結來說:在確切知道條件結果,并且結果有限下的條件下可以使用switch,在不能確切表示結果的情況下最好用if。else,在使用switch時候一定要注意break的使用。切記!切記!!
Java中switch和if語句的區別
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下面的代碼進行執行總結來說:在確切知道條件結果,并且結果有限下的條件下可以使用switch,在不能確切表示結果的情況下最好用if。
else,在使用switch時候一定要注意break的使用。切記!切記!!。
JAVA編程:使用switch和if語句算出今天是今年的第幾天
完全符合你要求,我等拿分了
public int dateOfYear(int year,int month,int day){
int dayOfYear = 0;
switch(month){
case 12:
dayOfYear+=30;
case 11:
dayOfYear+=31;
case 10:
dayOfYear+=30;
case 9:
dayOfYear+=31;
case 8:
dayOfYear+=31;
case 7:
dayOfYear+=30;
case 6:
dayOfYear+=31;
case 5:
dayOfYear+=30;
case 4:
dayOfYear+=31;
case 3:{
if(year%4 == 0 && year%100 != 0) || year%400==0){
dayOfYear+=1;
}
dayOfYear+=28;
}
case 2:
dayOfYear+=31;
case 1:
dayOfYear+=day;
}
return dayOfYear;
}
轉載請注明出處華閱文章網 » javaswitchif語句