Java的 Switch Case 语句,可以理解为分支
例子 假设打麻将有四个人 编号为 1 2 3 4 对应名字为 张三,李四,王五,赵六
数据结构
switch(expression){ case value : //语句 break; //可选 case value : //语句 break; //可选 //你可以有任意数量的case语句 default : //可选 //语句 }
例子代码
int code = 2; switch(code){ case 1: System.out.println("我是张三"); break; case 2: System.out.println("我是李四"); break; case 3: System.out.println("我是王五"); break; case 4: System.out.println("我是赵六"); break; default: System.out.println("我只是个看客"); }
输出
我是李四
break 表示退出,当满足某个case的时候,停止下方其他case。
上面的执行流程为
问:code 是多少 执行 case 1 发现不满足 执行 case 2 发现满足,立即退出switch
如果不写break
int code = 2; switch(code){ case 1: System.out.println("我是张三"); case 2: System.out.println("我是李四"); case 3: System.out.println("我是王五"); case 4: System.out.println("我是赵六"); default: System.out.println("我只是个看客"); }
输出
我是李四 我是王五 我是赵六 我只是个看客
程序流程
问:code 是多少 执行 case 1 发现不满足 执行 case 2 发现满足,输出 执行 case 3 不判断是否满足,输出 执行 case 4 不判断是否满足,输出 执行 default 不判断是否满足,输出
如果没有break当前的case一旦判断成功,后续的case都会被执行。
要点:
1. Switch的流程控制,有点象if else 但是在执行效率在多层判断情况下会比if else 高
2. Break 很关键
3. Switch Case里的值不能重复 不能case 1: 下一个继续 case 1: