概述

switch转换的意思。在Java中一般与case连用,可以与if-else语句互换。但是switch-case语句执行效率要高。 其主要规则如下:

  1. switch语句变量类型,可以是byte,short,char,int;切记不能处理
  2. Java SE 5之后,Switch类型支持enum
  3. Java SE 7之后,switch类型支持String
  4. case中使用break,表示语句中断
  5. case中使用default,表示在当前switch找不到的时候执行。但是也不是必需的

格式

switch(表达式){
   case 条件1:
           语句1;
           break;
    case 条件2:
          语句2;
          break;
    case 条件3:
           语句3;
           break;
    ...
  default:
           语句;
}

说明

  1. break在switch中使用用于结束当前流程;一旦case匹配,就会顺序执行后面的程序代码,而不管后面的case是否匹配。直到遇到break;
  2. default在当前switch找不到匹配的case时执行,default并不是必须的

细节

  • swich-case 不使用break
   package com.kang.base;

/**
 * switch-case,缺少break的陷阱
 */
public class SwitchTest {
    public static void main(String[] args) {
        int a = 3;
        switch(a){
            case 1:
                System.out.println(&34;执行 1&34;);
            case 2:
                System.out.println(&34;执行 2&34;);
            case 3:
                System.out.println(&34;执行3&34;);
            case 4:
                System.out.println(&34;执行4&34;);
            default:
                System.out.println(&34;没有break,你会看到什么呢&34;);
        }

    }
}
 

现象分析:

  • switch-case 不使用default
package com.kang.base;

/**
 * switch-case,缺少break的陷阱
 */
public class SwitchNoDefaultTest {
    public static void main(String[] args) {
        int a = 3;
        switch(a){
            case 1:
                System.out.println(&34;执行 1&34;);
                break;
            case 2:
                System.out.println(&34;执行 2&34;);
                break;
            case 3:
                System.out.println(&34;执行 3&34;);
                break;
            case 4:
                System.out.println(&34;执行 4&34;);
                break;
            case 5:
                System.out.println(&34;执行 5&34;);
                break;
 //           default:
 //             System.out.println(&34;没有default,你会看到什么呢&34;);
        }
    }
}

现象分析: