switch-case 执行顺序

Posted kakaisgood

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了switch-case 执行顺序相关的知识,希望对你有一定的参考价值。

switch(expression){
    case value :
       //语句
       break; //可选
    case value :
       //语句
       break; //可选
    //你可以有任意数量的case语句
    default : //可选
       //语句
}

switch语句有如下规则:

  • switch语句中的变量类型只能为byte、short、int或者char。
  • switch语句可以拥有多个case语句。每个case后面跟一个要比较的值和冒号。
  • case语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
  • 当变量的值与case语句的值相等时,那么case语句之后的语句开始执行,直到break语句出现才会跳出switch语句。
  • 当遇到break语句时,switch语句终止。程序跳转到switch语句后面的语句执行。case语句不必须要包含break语句。如果没有break语句出现,程序会继续执行下一条case语句,直到出现break语句。
  • switch语句可以包含一个default分支,该分支必须是switch语句的最后一个分支
  • default在没有case语句的值和变量值相等的时候执行。default分支不需要break语句。
  • int i=5;
    switch(i){
            default:
                System.out.println("default part");
            case 6:
                System.out.println("first case");
            case 7:
                System.out.println("second case");
    }
    
    System.out.println("----");
    switch(i){
            default:
                System.out.println("default part");
            case 5:
                System.out.println("first case");
            case 7:
                System.out.println("second case");
    }

    测试结果:

  • default part
    first case
    second case
    ----
    first case
    second case

--

从结果可以得之: switch 第一先找寻所有的case, 一旦有等于的 就从这个case一直执行直道看到break 结束。 如果没有符合的case, 走default, 也是一直到break结束。

以上是关于switch-case 执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java基本语法--程序流程控制

Java流程控制

Java基本语法-2(流程控制-判断循环)

JMeter:执行顺序与作用域

Jmeter--多个线程组顺序执行和并行执行

SQL执行顺序