相較于
switch-case
?語(yǔ)句,許多初學(xué)者知道的更多,或者說(shuō)更熟悉的是編程語(yǔ)言中的?if-else
?條件選擇語(yǔ)句。本篇文章將基于 java 語(yǔ)言為您詳細(xì)介紹switch-case
?的詳細(xì)用法。
1、switch-case 的介紹
?switch-case? 語(yǔ)句一般是由一個(gè)控制表達(dá)式?和多個(gè)?case
?組成的。
switch-case 控制表達(dá)式支持的類型有 byte、short、char、int、String(Java 7)。
switch-case 語(yǔ)句完全可以和 if-else 語(yǔ)句進(jìn)行互轉(zhuǎn),但通常來(lái)說(shuō),switch-case 語(yǔ)句的執(zhí)行效率更高。
在 switch-case 語(yǔ)句中的 default 是在表達(dá)式找不到匹配的 case 時(shí)執(zhí)行的。但是 default 并不是必須的。
一旦 case 匹配了,就會(huì)順序執(zhí)行后面的代碼,而不管后面得 case 語(yǔ)句是否匹配,直到碰到第一個(gè) break,則結(jié)束。
2、語(yǔ)法格式
switch(表達(dá)式){
case 條件1:
語(yǔ)句1;
break;
case 條件2:
語(yǔ)句2;
break;
case 條件3:
語(yǔ)句3;
break;
...
default:
語(yǔ)句;
}
3、具體代碼使用
String str = "C" ;
switch (str) {
case "A" :
System.out.println( "A" );
break ;
case "B" :
System.out.println( "B" );
break ;
case "C" :
System.out.println( "C" );
break ;
default :
System.out.println( 0 );
}
打印結(jié)果:
4、常見(jiàn)應(yīng)用情況
(1)case 中兩個(gè)值進(jìn)行一樣的操作
public String method(char variable){
switch(grade)
{
case 'A' :
System.out.println("優(yōu)秀");
break;
case 'B' :
case 'C' :
System.out.println("良好");
break;
case 'D' :
System.out.println("及格");
break;
case 'F' :
System.out.println("你需要再努力努力");
break;
default :
System.out.println("未知等級(jí)");
}
}
(2)case 中沒(méi)有 break 語(yǔ)句,從當(dāng)匹配的 case 開(kāi)始,后續(xù)所有的 case 的值陸續(xù)輸出。
//傳值為3
public String method(int variable){
switch(i){
case 9:
System.out.println("9");
case 3:
System.out.println("3");
case 6:
System.out.println("6");
default:
System.out.println("def");
}
}
打印結(jié)果:
3
6
def
(3)如果當(dāng)前匹配的 case 沒(méi)有 break 語(yǔ)句,則從當(dāng)前的 case 開(kāi)始,后續(xù)所有的 case 的值都會(huì)陸續(xù)輸出。直到遇到第一個(gè) break 語(yǔ)句,跳出判斷。
//傳值為3
public String method(int variable){
switch(i){
case 9:
System.out.println("9");
case 3:
System.out.println("3");
case 6:
System.out.println("6");
break;
default:
System.out.println("def");
}
輸出結(jié)果
3
6
5、總結(jié)
相較于? if-else
?語(yǔ)句來(lái)說(shuō),?switch-case
?支持類型比較少,而且?case
?是不能作為變量的。但是在項(xiàng)目開(kāi)發(fā)中,如果業(yè)務(wù)需求比較多,這個(gè)是建議使用?switch-case
?。一是后者比前者的執(zhí)行效率要高,二是后者的邏輯比較清晰。
以上就是關(guān)于 Java中的switch-case語(yǔ)句的簡(jiǎn)單介紹以及詳細(xì)使用方法的全部?jī)?nèi)容,如果想要了解更多關(guān)于 Java 相關(guān)的知識(shí)內(nèi)容,請(qǐng)關(guān)注W3Cschool,如果對(duì)您的學(xué)習(xí)有所幫助,請(qǐng)多多支持我們!