switch-case其實跟if-else很像。裡面的變數可能是整數、字元還有從java7開始還加上字串,但是不能用浮點數,因為會有誤差。跟if不太一樣的是,通常每個區間裡會加上break,讓程式執行完這個區塊時就會離開,若省略break,則會繼續執行下一個case的敘述。語法如下:
switch(變數或運算式){
case 1: // 就像if-else中的if
statement1;
break; // 要記得離開,否則會繼續執行
case 2: // 就像if-else中的else if
statement2;
break;
case 3:
statement3;
break;
default: statement4 // 就像if-else中的else
}
default就像是if-else中的else,是非必需的,如果沒有預設要處理的動作就可以不寫。
int i = 50;
switch (i) {
case 10:
System.out.println("i=10");
break;
case 20:
System.out.println("i=20");
break;
default:
System.out.println("i≠10 and i≠20"); // i≠10 and i≠20
}