switch case 使用方式
char a=1;
switch(a)
{
case '1':System.out.printf("1\n");
break;
case '2':System.out.printf("2\n");
break;
case '3':System.out.printf("3\n");
break;
case '4':System.out.printf("4\n");
break;
default:System.out.printf("5\n");
break;
每個 case 的結尾處一定要放上
break; 不然程式會繼續向下執行,直到switch的最後一行為止。當default不是最後一個的時候,也要放上break
注意在case後的等號是冒號而不是分號,這是個很常鍵錯的符號;如果您比對的是字元,則記得加上單引號(' '),例如: case 'A';
switch是C++提供的條件判斷陳述式,它只能比較數值或字元,不過別以為這樣它就比if 來得沒用,使用適當的話,它可比if判斷式來得有效率;switch的語法架構如下:
switch (變數名稱或運算式) {
case 符合數字或字元:
陳述句一;
break;
case 符合數字或字元:
陳述句二;
break;
default:
陳述三;
}
當然並不是使用if就不好,遇到複合條件時,switch就幫不上忙了,您無法在switch中組合複雜的條件陳述,這時就得使用if了,簡單的說,if 與switch兩者可以搭配著靈活使用。
switch case的巢狀迴圈
//(1) 透過「鍵盤輸入」2個玩家的拳形,並再利用switch語法結構將2個玩家的拳形按照猜拳遊戲規則來判定哪個玩家win。
Hint : 1. 創建一個名為ExtendedSwitchTest02的類;
2. 在ExtendedSwitchTest02類當中加入主函數;
3. 導入Scanner之類別;
4. 在主函數當中定義及實現一個Scanner之對象,並利用Scanner對象取出使用者輸入之內容,最後再將其賦值給char型變數,以用於表示玩家的拳形;
5. 使用switch結構對結果進行判斷。
package hey;
import java.util.Scanner;
public class ExtendedSwitchTest02 {
public static void main(String[] args) {
//兩個玩家。輸入剪刀=1、石頭=2、布=3, 所以輸入兩次。
System.out.println("玩家1,請輸入剪刀=1、石頭=2、布=3其中一個。");
Scanner scanner=new Scanner(System.in);
String use1=scanner.next();
System.out.println("玩家2,請輸入剪刀=1、石頭=2、布=3其中一個。");
String use2=scanner.next();
scanner.close();
//判斷誰勝
switch(use1)
{
case "1":
switch(use2) {
case "1": System.out.println("平手");break;
case "2": System.out.println("玩家2勝");break;
case "3": System.out.println("玩家1勝");break;
}
break;
case "2":
switch(use2) {
case "1": System.out.println("玩家1勝");break;
case "2": System.out.println("平手");break;
case "3": System.out.println("玩家2勝");break;
}
break;
case "3":
switch(use2) {
case "1": System.out.println("玩家2勝");break;
case "2": System.out.println("玩家1勝");break;
case "3": System.out.println("平手");break;
}
break;
}
}
switch case的巢狀迴圈
//(1) 透過「鍵盤輸入」2個玩家的拳形,並再利用switch語法結構將2個玩家的拳形按照猜拳遊戲規則來判定哪個玩家win。
Hint : 1. 創建一個名為ExtendedSwitchTest02的類;
2. 在ExtendedSwitchTest02類當中加入主函數;
3. 導入Scanner之類別;
4. 在主函數當中定義及實現一個Scanner之對象,並利用Scanner對象取出使用者輸入之內容,最後再將其賦值給char型變數,以用於表示玩家的拳形;
5. 使用switch結構對結果進行判斷。
package hey;
import java.util.Scanner;
public class ExtendedSwitchTest02 {
public static void main(String[] args) {
//兩個玩家。輸入剪刀=1、石頭=2、布=3, 所以輸入兩次。
System.out.println("玩家1,請輸入剪刀=1、石頭=2、布=3其中一個。");
Scanner scanner=new Scanner(System.in);
String use1=scanner.next();
System.out.println("玩家2,請輸入剪刀=1、石頭=2、布=3其中一個。");
String use2=scanner.next();
scanner.close();
//判斷誰勝
switch(use1)
{
case "1":
switch(use2) {
case "1": System.out.println("平手");break;
case "2": System.out.println("玩家2勝");break;
case "3": System.out.println("玩家1勝");break;
}
break;
case "2":
switch(use2) {
case "1": System.out.println("玩家1勝");break;
case "2": System.out.println("平手");break;
case "3": System.out.println("玩家2勝");break;
}
break;
case "3":
switch(use2) {
case "1": System.out.println("玩家2勝");break;
case "2": System.out.println("玩家1勝");break;
case "3": System.out.println("平手");break;
}
break;
}
}
留言
張貼留言