更新時(shí)間:2025-04-14 08:09:18作者:佚名
開(kāi)關(guān)“開(kāi)關(guān)”的含義是“選擇”語(yǔ)句,其用法非常簡(jiǎn)單。 Switch是一個(gè)多分支選擇語(yǔ)句。簡(jiǎn)而言之,多個(gè)分支是多個(gè)if語(yǔ)句的組合。從功能上講,切換語(yǔ)句以及語(yǔ)句可以完全互相替換。但是從編程的角度來(lái)看網(wǎng)校頭條,他們每個(gè)人都有自己的特征,因此不能說(shuō)誰(shuí)能完全取代到目前為止。
當(dāng)嵌套IFS(在三個(gè)之內(nèi))較少時(shí),使用IFS編寫(xiě)程序會(huì)更簡(jiǎn)潔。但是,當(dāng)選擇了許多分支時(shí),嵌套if語(yǔ)句的數(shù)量將很大,導(dǎo)致程序是冗長(zhǎng)的,并且可讀性降低。因此,使用開(kāi)關(guān)語(yǔ)句處理多分支選擇。因此,如果可以說(shuō)和轉(zhuǎn)換可以說(shuō)是明確的勞動(dòng)分工。在許多大型項(xiàng)目中,經(jīng)常會(huì)遇到多分支選擇,因此開(kāi)關(guān)語(yǔ)句經(jīng)常使用。
開(kāi)關(guān)的一般形式如下:
switch(表達(dá)式)
{
case 常量表達(dá)式1:語(yǔ)句1;
case 常量表達(dá)式2:語(yǔ)句2;
...
case 常量表達(dá)式n:語(yǔ)句n;
default:語(yǔ)句;
}
闡明:
1)括號(hào)中的“表達(dá)式”必須是可以轉(zhuǎn)換為整數(shù)類型的整數(shù)類型或數(shù)字類型。例如:字節(jié),短break in是什么意思,int,char,也可以是整數(shù),角色常數(shù)和枚舉,甚至是負(fù)數(shù)。應(yīng)該強(qiáng)調(diào)的是,浮點(diǎn),雙,長(zhǎng)和字符串類型不能在開(kāi)關(guān)語(yǔ)句上使用。
2)開(kāi)關(guān)下的情況和默認(rèn)值必須包含在一對(duì)括號(hào){}中。
3)當(dāng)開(kāi)關(guān)后括號(hào)中“表達(dá)式”的值等于情況后“常數(shù)表達(dá)式”的值時(shí),執(zhí)行此情況后的語(yǔ)句。在案件后執(zhí)行語(yǔ)句后,將過(guò)程控制轉(zhuǎn)移到下一個(gè)情況下繼續(xù)執(zhí)行。如果您只想執(zhí)行此案例語(yǔ)句而不想執(zhí)行其他案例,則需要在此案例語(yǔ)句之后添加中斷才能跳出Switch語(yǔ)句。
※開(kāi)關(guān)是“選擇”語(yǔ)句,而不是“循環(huán)”語(yǔ)句。因?yàn)閿嗔淹ǔ=o我們留下了這樣的印象,即它會(huì)突破“循環(huán)”,但是還有另一種破裂的用法,即脫離開(kāi)關(guān)。
4)如果在所有情況下常數(shù)表達(dá)式的值不等于開(kāi)關(guān)后括號(hào)中“表達(dá)式”的值,請(qǐng)?jiān)谀J(rèn)值后執(zhí)行語(yǔ)句,這意味著“默認(rèn)”。如果默認(rèn)值是最后一個(gè)語(yǔ)句,則可以在之后添加中斷,因?yàn)樗呀?jīng)是最后一個(gè)句子,因此執(zhí)行后它會(huì)自然退出開(kāi)關(guān)。
5)每種情況必須不同之后,“恒定表達(dá)式”的值,否則就會(huì)發(fā)生沖突的現(xiàn)象,這種寫(xiě)作方式將導(dǎo)致語(yǔ)法錯(cuò)誤。
6)“案例恒定表達(dá)”僅用作陳述號(hào),而不是當(dāng)時(shí)的判斷。執(zhí)行開(kāi)關(guān)語(yǔ)句時(shí)break in是什么意思,請(qǐng)根據(jù)交換后的表達(dá)式找到匹配的輸入號(hào)碼,然后從該標(biāo)記中執(zhí)行它,而不再做出判斷。
7)每種情況和默認(rèn)發(fā)生的順序不會(huì)影響執(zhí)行結(jié)果。但是從閱讀的角度來(lái)看,最好按字母或數(shù)字順序編寫(xiě)。
8)當(dāng)然,您也不能像……否則那樣寫(xiě)默認(rèn)語(yǔ)句,最終不會(huì)得到其他語(yǔ)句。但是最好添加它,您以后再也沒(méi)有寫(xiě)。這可以防止其他人錯(cuò)誤地認(rèn)為您忘記執(zhí)行默認(rèn)處理,還可以提醒其他人在這里結(jié)束。
※默認(rèn)值可以在沒(méi)有任何之后寫(xiě)下,但是不得省略后的結(jié)腸和半柱,就好像省略了一樣,這將是語(yǔ)法錯(cuò)誤。
例子:
public class MultipleBranch {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請(qǐng)輸入您想去的樓層:");
int storey = scanner.nextInt();
switch (storey) {
case 1:
System.out.println("1層開(kāi)!\n");
break;
case 2:
System.out.println("2層開(kāi)!\n");
break;
case 3:
System.out.println("3層開(kāi)!\n");
break;
default:
System.out.println("該層不存在! 請(qǐng)重新輸入\n");
}
}
}