switch語句是單條件多分支的開關(guān)語句,語法格式如下:
switch(表達式) { case 常量值1:語句1;break; case 常量值2:語句2;break; case 常量值3:語句3;break; …… case 常量值n:語句n;break; default:語句n+1; }
switch語句中“表達式”的值可以是byte、short、int、char型,“常量值1”到“常量值n”也是byte、short、int、char型,而且要互不相同。
switch語句首先計算表達式的值,如果表達式的值和某個case后面的常量值相等,就執(zhí)行該case里的語句直到碰到break語句為止。如果某個case中沒有使用break語句,一旦表達式的值和該case后面的常量值相等,程序不僅執(zhí)行該case里的語句,而且繼續(xù)執(zhí)行后繼的case里的語句,直到碰到break語句為止。若switch語句中的表達式的值不與任何case的常量值相等,則執(zhí)行default后面的語句。switch語句中的default是可選的,如果它不存在,并且switch語句中表達式的值不與任何case的常量值相等,那么switch語句就不會進行任何處理。
我們前面學(xué)習(xí)的if條件分支語句的共同特點是根據(jù)一個或多個條件選擇執(zhí)行一個分支操作,而不是選擇執(zhí)行多個分支操作。在switch語句中,通過合理地使用break語句,可以達到根據(jù)一個條件選擇執(zhí)行一個分支或多個分支操作的結(jié)果。
實例:
public class Main { public static void main(String args[]){ char grade = 'B'; switch(grade) { case 'A': System.out.println("優(yōu)秀"); break; case 'B': System.out.println("良好"); break; case 'C': System.out.println("及格"); break; default: System.out.println("未知"); } } }
運行結(jié)果如下:
良好
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點擊了解:
一點編程也不會寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進階課程
從零到寫出一個爬蟲的Python編程課程
只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍橋杯輔導(dǎo)課程