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';

switchC++提供的條件判斷陳述式,它只能比較數值或字元,不過別以為這樣它就比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;
}


}



留言

這個網誌中的熱門文章

JAVE題目:產生10個亂數值,範圍為10-100之間,再利用「選擇排序法」進行由小到大的排序。並將排序後的結果列出來。

資料庫32範例:小戴修正。

StringBuilder跟StringBuffer的方法