1.概述
switch case
語(yǔ)句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。
switch case 語(yǔ)句語(yǔ)法格式如下:
switch(expression){
case value :
//語(yǔ)句
break; //可選
case value :
//語(yǔ)句
break; //可選
//你可以有任意數(shù)量的case語(yǔ)句
default : //可選
//語(yǔ)句
}
switch case
語(yǔ)句有如下規(guī)則:
switch
語(yǔ)句中的變量類型可以是: byte
、short
、int
或者 char
。從 Java SE 7 開(kāi)始,switch
支持字符串 String
類型了,同時(shí) case
標(biāo)簽必須為字符串常量或字面量。switch
語(yǔ)句可以擁有多個(gè) case
語(yǔ)句。每個(gè) case
后面跟一個(gè)要比較的值和冒號(hào)。case
語(yǔ)句中的值的數(shù)據(jù)類型必須與變量的數(shù)據(jù)類型相同,而且只能是常量或者字面常量。case
語(yǔ)句的值相等時(shí),那么 case
語(yǔ)句之后的語(yǔ)句開(kāi)始執(zhí)行,直到 break
語(yǔ)句出現(xiàn)才會(huì)跳出 switch
語(yǔ)句。break
語(yǔ)句時(shí),switch
語(yǔ)句終止。程序跳轉(zhuǎn)到 switch
語(yǔ)句后面的語(yǔ)句執(zhí)行。case
語(yǔ)句不必須要包含 break
語(yǔ)句。如果沒(méi)有 break
語(yǔ)句出現(xiàn),程序會(huì)繼續(xù)執(zhí)行下一條 case
語(yǔ)句,直到出現(xiàn) break
語(yǔ)句。switch
語(yǔ)句可以包含一個(gè) default
分支,該分支一般是 switch
語(yǔ)句的最后一個(gè)分支(可以在任何位置,但建議在最后一個(gè))。default
在沒(méi)有 case
語(yǔ)句的值和變量值相等的時(shí)候執(zhí)行。default
分支不需要 break
語(yǔ)句。
switch case
執(zhí)行時(shí),一定會(huì)先進(jìn)行匹配,匹配成功返回當(dāng)前case
的值,再根據(jù)是否有break
,判斷是否繼續(xù)輸出,或是跳出判斷。
public class Test {
public static void main(String[] args){
//char grade = args[0].charAt(0);
char grade = 'C';
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í)");
}
System.out.println("你的等級(jí)是 " + grade);
}
}
以上代碼編譯運(yùn)行結(jié)果如下:
良好
你的等級(jí)是 C
如果 case
語(yǔ)句塊中沒(méi)有 break
語(yǔ)句時(shí),JVM 并不會(huì)順序輸出每一個(gè) case
對(duì)應(yīng)的返回值,而是繼續(xù)匹配,匹配不成功則返回默認(rèn) case
。
public class Test {
public static void main(String[] args){
int i = 5;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
default:
System.out.println("default");
}
}
}
以上代碼編譯運(yùn)行結(jié)果如下:
default
如果 case
語(yǔ)句塊中沒(méi)有 break
語(yǔ)句時(shí),匹配成功后,從當(dāng)前 case
開(kāi)始,后續(xù)所有 case
的值都會(huì)輸出。
public class Test {
public static void main(String[] args){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
default:
System.out.println("default");
}
}
}
以上代碼編譯運(yùn)行結(jié)果如下:
1
2
default
如果當(dāng)前匹配成功的 case
語(yǔ)句塊沒(méi)有 break
語(yǔ)句,則從當(dāng)前 case
開(kāi)始,后續(xù)所有 case
的值都會(huì)輸出,如果后續(xù)的 case
語(yǔ)句塊有 break
語(yǔ)句則會(huì)跳出判斷。
public class Test {
public static void main(String[] args){
int i = 1;
switch(i){
case 0:
System.out.println("0");
case 1:
System.out.println("1");
case 2:
System.out.println("2");
case 3:
System.out.println("3"); break;
default:
System.out.println("default");
}
}
}
以上代碼編譯運(yùn)行結(jié)果如下:
1
2
3
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
分享文章:Java中switch_case方法使用示例-創(chuàng)新互聯(lián)
當(dāng)前網(wǎng)址:http://chinadenli.net/article2/jgeic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站營(yíng)銷、網(wǎng)站導(dǎo)航、移動(dòng)網(wǎng)站建設(shè)、App開(kāi)發(fā)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容