Switch Case語(yǔ)句是一種常見(jiàn)的條件語(yǔ)句,它可以用于根據(jù)不同的輸入值執(zhí)行不同的代碼塊。它的語(yǔ)法結(jié)構(gòu)如下:
switch(表達(dá)式) { case 常量1: 代碼塊1; break; case 常量2: 代碼塊2; break; ... default: 默認(rèn)代碼塊;}
其中,表達(dá)式的值與各個(gè)case后的常量進(jìn)行比較,如果匹配則執(zhí)行對(duì)應(yīng)的代碼塊。如果沒(méi)有匹配的常量,則執(zhí)行默認(rèn)代碼塊。每個(gè)case塊應(yīng)該以break語(yǔ)句或return語(yǔ)句結(jié)束,以避免執(zhí)行下一個(gè)case塊。
Switch Case常見(jiàn)用法
Switch Case語(yǔ)句常用于根據(jù)輸入的值執(zhí)行不同的代碼塊。例如,根據(jù)一周中的某一天執(zhí)行不同的操作:
int day = 1;switch(day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; ... default: System.out.println("Invalid day");}
除了上述用法外,Switch Case語(yǔ)句還可以用于枚舉類(lèi)、字符以及String等類(lèi)型的比較。
Switch Case返回語(yǔ)句實(shí)現(xiàn)
在Switch Case語(yǔ)句中,當(dāng)一個(gè)case塊匹配的時(shí)候,可以使用return語(yǔ)句來(lái)直接返回結(jié)果。例如,根據(jù)輸入的值計(jì)算不同的稅率:
public double calculateTax(int income) { switch(income) { case 10000: return income * 0.1; case 20000: return income * 0.2; ... default: return 0.0; }}
在上述代碼中,當(dāng)income等于10000時(shí),函數(shù)直接返回income * 0.1的結(jié)果,不再執(zhí)行后續(xù)代碼。如果沒(méi)有匹配的case,則返回0.0作為默認(rèn)值。
需要注意的是,每個(gè)case塊都應(yīng)該有返回語(yǔ)句,否則編譯器會(huì)報(bào)錯(cuò)。另外,如果定義了默認(rèn)case塊,則必須要有返回值,否則編譯器同樣會(huì)報(bào)錯(cuò)。