switch java 语法_Java编程—switch语句语法详解
5.3.2 switch語句
switch關鍵字的中文意思是開關、轉(zhuǎn)換的意思,switch語句在條件語句中特別適合做一組變量相等的判斷,在結(jié)構上比if語句要清晰很多。
switch語句的語法格式為:
switch(表達式){
case 值1:
功能代碼1;
[break; ]
case 值2:
功能代碼2;
[break; ]
……
default:
功能代碼1;
[break; ]
}
語法說明:
1、 表達式的類型只能為byte、short、char和int這4種之一。
2、 值1、值2…值n只能為常數(shù)或常量,不能為變量。
3、 功能代碼部分可以寫任意多句。
4、 break關鍵字的意思是中斷,指結(jié)束switch語句,break語句為可選。
5、 case語句可以有任意多句,是標號語句。
6、 default語句可以寫在switch語句中的任意位置,功能類似于if語句中的else。
執(zhí)行流程:當表達式的值和對應case語句后的值相同時,既從該位置開始向下執(zhí)行,一直執(zhí)行到switch語句的結(jié)束,在執(zhí)行中,如果遇到break語句,則結(jié)束switch語句的執(zhí)行。
則在if-else if-else語句中,根據(jù)月份獲得每個月的天數(shù),不考慮閏年,的示例代碼如下:
int month = 10;
int days = 0;
switch(month){
case 1:
days = 31;
break;
case 2:
days = 28;
break;
case 3:
days = 31;
break;
case 4:
days = 30;
break;
case 5:
days = 31;
break;
case 6:
days = 30;
break;
case 7:
days = 31;
break;
case 8:
days = 31;
break;
case 9:
days = 30;
break;
case 10:
days = 31;
break;
case 11:
days = 30;
break;
case 12:
days = 31;
break;
}
System.out.println(days);
根據(jù)switch語句的語法,該代碼也可以簡化為如下格式:
int month = 10;
int days = 0;
switch(month){
case 2:
days = 28;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
}
System.out.println(days);
代碼說明:因為switch語句每次比較的是相等關系,所以可以把功能相同的case語句合并起來,而且可以把其他的條件合并到default語句中,這樣可以簡化case語句的書寫。該代碼的結(jié)構比最初的代碼簡潔很多了。
雖 然在語法上switch只能比較相等的結(jié)構,其實某些區(qū)間的判別也可以通過一定的變換使用switch語句進行實現(xiàn)。例如if-else if-else語句示例中的分數(shù)轉(zhuǎn)換的示例,則分數(shù)的區(qū)間位于0-100之間,如果一個一個的去比較,case語句的數(shù)量會比較多,所以可以做一個簡單的 數(shù)字變換,只比較分數(shù)的十位及以上數(shù)字,這樣數(shù)字的區(qū)間就縮小到了0-10,則實現(xiàn)的代碼如下:
int score = 87;
switch(score / 10){
case 10:
case 9:
System.out.println(‘A’);
break;
case 8:
System.out.println(‘B’);
break;
case 7:
System.out.println(‘C’);
break;
case 6:
System.out.println(‘D’);
break;
default:
System.out.println(‘E’);
}
當然,switch語句不是很適合進行區(qū)間的判別,更多的區(qū)間判別一般還是使用if-else if-else語句進行實現(xiàn)。
5.3.3 小結(jié)
if語句可以實現(xiàn)程序中所有的條件,switch語句特別適合一系列點相等的判別,結(jié)構顯得比較清晰,而且執(zhí)行速度比if語句要稍微快一些,在實際的代碼中,可以根據(jù)需要來使用對應的語句實現(xiàn)程序要求的邏輯功能。
總結(jié)
以上是生活随笔為你收集整理的switch java 语法_Java编程—switch语句语法详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java正则表达式爬虫_Java简单爬虫
- 下一篇: java基础深入_java编程基础之方法