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的多值匹配

posted @ 2022-08-25 18:45  FinallySSR  阅读(234)  评论(0编辑  收藏  举报