App下載

Java語(yǔ)言中的另一個(gè)選擇語(yǔ)句 switch-case的詳細(xì)用法

猿友 2021-07-19 10:01:35 瀏覽數(shù) (4160)
反饋

     相較于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á)式支持的類(lèi)型有 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é)果:

微信截圖_20210719094949


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?支持類(lèi)型比較少,而且?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)多多支持我們!


0 人點(diǎn)贊