switch多值匹配
switch多值匹配
我们都知道switch用来走流程分支,大多情况下用来匹配单个值
比如说
private static void test(int value) {
switch (value) {
case 1:
System.out.println("1");
break;
case 2:
System.out.println("1");
break;
case 3:
System.out.println("1");
break;
case 4:
System.out.println("1");
break;
case 5:
System.out.println("1");
break;
case 6:
System.out.println("0");
break;
case 7:
System.out.println("0");
break;
default:
System.out.println("-1");
}
}
这段代码很容易看懂对吧
1~5输出1;6和7输出-1
但是这样写,有很多重复代码对不对
那有没有简化写法呢
有
就是让多个case匹配同一段逻辑
那么如何实现呢
上代码
private static void test(int value) {
switch (value) {
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("1");
break;
case 6:
case 7:
System.out.println("0");
break;
default:
System.out.println("-1");
}
}
看懂了吗
把相同逻辑的case放一起,最后一个case写逻辑就可以了
这就是switch的多值匹配