3.8.5 多重选择:switch语句

    在处理多个选项时,使用if/else结构显得有些笨拙。
 
            Scanner in = new Scanner(System.in);
            System.out.println("Select an option (1, 2, 3, 4)");
            int choice = in.nextInt();
            
            switch(choice){
            case 1:
                  System.out.println(1);
                  break;
                  
            case 2:
                  System.out.println(2);
                  break;
                  
            case 3:
                  System.out.println(3);
                  break;
                  
            case 4:
                  System.out.println(4);
                  break;
            default:
                  System.out.println("输入有误");
                  break;
            }
 
    switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句,或者执行到switch语句的结束处为止。如果没有相匹配的case标签,而有default子句,就执行这个子句。
 
    警告:有可能触发多个case分支。如果在case分支语句的末尾没有break语句,那么就会接着执行下一个case分支语句。
 
    case标签可以是:
  • 类型为 char、byte、short、或 int 的常量表达式
  • 枚举常量
  • 从 Java SE 7开始,case 标签还可以是字符串字面量。
 
 
当在switch语句中使用枚举常量时,不必在每个标签中指明枚举名,可以由switch的表达式确定。例如:
 
enum Size{SMALL, MEDIUM, LARGE, EXTRA_LARGE};
      public static void main(String[] args){
            
            Size choice = Size.MEDIUM;
            
            switch(choice){
            case SMALL:
                  System.out.println(1);
                  break;
                  
            case MEDIUM:
                  System.out.println(2);
                  break;
                  
            case LARGE:
                  System.out.println(3);
                  break;
                  
            case EXTRA_LARGE:
                  System.out.println(4);
                  break;
            default:
                  System.out.println("输入有误");
                  break;
            }
      }
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/avention/p/10123729.html