switch case和循环结构
1. switch case
1.1 结构概述
/*
这里使用的switch - case结构是一个可以在很多开发语言中通用使用的
今天上课演示使用的数据类型是int类型,并且要求在没有讲述其他可以使用类型之前
只能使用int
*/
switch (/* 变量 */) {
case 常量选择1:
// 处理方式1;
break;
case 常量选择2:
// 处理方式2;
break;
case 常量选择3:
// 处理方式3;
break;
default:
// 最终处理方式;
break;
}
/*
执行流程:
代码运行到switch case结构
首先取出switch之后小括号中变量保存的数据
匹配switch 大括号以内的case选择,找到对应的常量选择匹配。
如果找到了对应的匹配选择,执行对应的处理方式。
如果没有找到匹配选择,执行default里面的处理方式。
这里【break】关键字用于结束switch case运行
/*
switch case 演示点菜
1. 五顺斋烤鸭
2. 重庆/四川火锅
3. 擀面皮
4. 烤羊排
5. 佛跳墙(God Use VPN)
*/
import java.util.Scanner;
class Demo4 {
public static void main(String[] args) {
// 这里需要一个int类型的变量 变量名choose
int choose = 0;
Scanner sc = new Scanner(System.in);
// 展示菜单
System.out.println("欢迎来到骚磊米其林十二星餐厅");
System.out.println("1. 五顺斋烤鸭");
System.out.println("2. 重庆/四川火锅");
System.out.println("3. 擀面皮");
System.out.println("4. 烤羊排");
System.out.println("5. 佛跳墙(God Use VPN)");
choose = sc.nextInt();
// 使用switch case处理数据, 需要处理的数据是保存在
// choose变量中,switch case结构对于choose进行处理
switch (choose) {
// case 1 这里是用于处理choose中数据为1的情况
case 1:
// 处理方式
System.out.println("五顺斋烤鸭 82RMB");
// 跳出switch case结构
break;
case 2:
System.out.println("重庆/四川火锅 180RMB");
break;
case 3:
System.out.println("擀面皮 5RMB");
break;
case 4:
System.out.println("烤羊排 65RMB");
break;
case 5:
System.out.println("佛跳墙(God Use VPN) 998RMB");
break;
// 以上所有的Case都没有运行的情况下,会执行default
// 保留的处理方式
default:
System.out.println("不好意思,您选择错误!!!");
break;
}
}
}
1.2 switch - case使用注意事项
-
在switch - case结构中,有且只能执行case,或者default之后的语句。如果存在在case 和default之外的语句,是无法执行的,对于Java而言是无效代码。
unreachable code -
在switch - case结构中,如果存在case或者default选择缺少break操作。代码会继续运行到下一个break,或者大括号 }(switch case结尾大括号) 终止switch - case!!
-
在switch - case结构中,不允许出现相同的case选项,代码无法进行操作选择,因为所有case选择是平级的
-
在switch - case结构中,default可以省略,代码编译不会受到影响,没有语法错误。但是失去switch case自带的一种异常情况处理方式。
AJCG阿里巴巴Java开发规范中,是不推荐省略default !!!