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;
-
}
-
}
-
}
感谢大家的阅读,我们一起进步一起成长!