加强switch的用法
普通的switch
switch (h) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
System.out.println("本月31天");
break;
case 2:
System.out.println("本月28天");
break;
case 4:
case 6:
case 9:
case 11:
System.out.println("本月30天");break;
default : System.out.println("你输入的月份不对");
加强switch 在原本的基础上简化了流程,更方便的方面体现在switch的击穿使用上面。
减去了每种情况必不可少的case。
使用 , 来连接同一情况下的各各数据。
将case 1 : 中的:该写成了 -> ,同时在最后省去了每行都必须要有的break。
public class 加强switch {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入月份");
int h = sc.nextInt();
switch (h){
case 1,3,5,7,8,10,12-> System.out.println("本月31天");
case 2-> System.out.println("本月28天");
case 4,6,9,11-> System.out.println("本月30天");
}
}
}
这种的优势不言而喻,大大简化了代码,使代码看上去更容易明白,而且方便更改。
注意事项:
- 在同一个switch中不能两种方法混合使用。
- 加强switch是在 Java12 之后才推出的。在使用时应注意 jdk 的等级。
信号位 循环中有Boolean
在涉及到循环中有Boolean值时要注意在循环中要将Boolean值复原。
凡是在循环中起到判断作用的值要确保在每次使用是要是初始值。
这种用法叫做信号位
在一开始认为这种情况为真,再判断是否成立当不成立时,将信号位改为 false。
在最后判断这个信号位是否为真选择所要进行的操作。