月小升

一个13年的开发老兵。

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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:

https://java-er.com/blog/java-switch-case/

posted on 2020-02-22 10:40  月小升  阅读(11318)  评论(0编辑  收藏  举报