switch-case是Java中的分支结构
语法如下:
switch(expression){
case value :
//语句
break; //可选
case value :
//语句
break; //可选
//你可以有任意数量的case语句
default : //可选
//语句
}
关于switch的四个基本知识点:
- 在switch大括号中,default的位置可以改变并且可以省略不写也就是说可以没有被用语句,但不会输出任何语句。
- 在switch大括号中,在没有break情况下case具有穿透性将运行所有输出语句,直至遇到break或switch结束的右括号时就会结束switch语句。
- switch和if的第三种格式各自的使用场景:if的第三种格式(if else)一般用于对范围的判断。switch用于把有限的数据一一列出,选择使用。
- switch新特性,在JDK12或后面的版本可以应用。新特性如下代码:
public class SwitchDemo1 { public static void main(String[] args) { int num = 2; /* switch (num) { case 1 -> System.out.println("一"); case 2 -> System.out.println("二"); case 3 -> System.out.println("三"); default -> System.out.println("没有"); } */ } }
实例:
1. case具有穿透性,相同事件场景中应用。具体案例:
import java.util.Scanner;
public class SwitchTest02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个整数表示星期几");
int week = sc.nextInt();
switch (week){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("今天是工作日");
break;
case 6:
case 7:
System.out.println("今天是休息日");
break;
default:
System.out.println("输入有误");
break;
}
}
}
2. 设计出基本票务系统,用户输入对应的数字,控制台输出相应的服务
import java.util.Scanner;
public class SwitchTest03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入按键");
int action = sc.nextInt();
switch (action){
case 1:
System.out.println("机票查询");
break;
case 2:
System.out.println("机票预定");
break;
case 3:
System.out.println("机票改签");
break;
case 4:
default:
System.out.println("退出服务");
break;
}
}
}
我们不是把花放在有蜜蜂的地方,而是将蜜蜂自然引向花丛。
——许愿 . 共勉