1、JDK12之前的原语法
public static void choiceSwitch(int num) {
switch (num) {
case 1:
System.out.println("春");
break;
case 2:
System.out.println("夏");
break;
default:
break;
}
}
代码冗余,每处都要加break;
2、箭头操作符
String srt = switch (num) {
case 1 -> "春";
case 2 -> "夏";
default -> "";
};
System.out.println(srt);
新语法只会执行匹配语句,没有穿透性,所以不用写break;
可以返回一个值
switch (num) {
case 1 -> {System.out.println("春");
System.out.println("春天");}
case 2 -> System.out.println("夏");
default -> System.out.println("");
};
System.out.println(srt);
但是,多条语句需要{ } 括起来
3、yield 关键字
String str = switch (num) {
case 1 :
yield "春天";
case 2 :
yield "夏天";
default:
yield " ";
};
利用yield将值返回,类似于 return
String str = switch (num) {
case 1 -> {
System.out.println("春");
yield "春天";
}
case 2 -> {
System.out.println("夏");
yield "夏天";
}
default-> {
System.out.println(" ");
yield " ";
}
};
多条语句{ }起来