jdk12至14——switch语法升级

jdk12的预览版switch语句可以使用“->”符号代替“:”,免去书写break,支持有返回值;

jdk13的预览版switch语句新增了yield关键字用于返回值;

jdk14将之前的switch新特性转为正式版;

jdk12之前的switch:

	@Test
	void test() {
		String s = "a";
		switch (s) {
		case "a":
			System.out.println(123);
			break;
		case "b":
			System.out.println(456);
			break;
		default:
			System.out.println(789);
		}
	}

jdk12可以使用->和返回值,可以免去break:

	@Test
	void test() {
		String s = "b";
		switch (s) {
		case "a" -> System.out.println(123);
		case "b", "c" -> System.out.println(456);
		default -> System.out.println(789);
		}
	}
	@Test
	void test() {
		String s = "b";
		int x = switch (s) {
		case "a" -> 1;
		case "b", "c" -> 2;
		default -> 3;
		};
		System.out.println(x);
	}

jdk13可以使用新增的yield关键字明确指定返回值:

	@Test
	void test() {
		String s = "b";
		int x = switch (s) {
		case "a" -> {
			System.out.println(111);
			yield 1;
		}
		case "b", "c" -> {
			System.out.println(222);
			yield 2;
		}
		default -> {
			System.out.println(333);
			yield 3;
		}
		};
		System.out.println(x);
	}

另外,在一个switch中“:”和“->”不能混用,要么全用“:”,要么全用“->”;

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值