学科分类
目录
Java基础

switch条件语句

switch 条件语句也是一种很常用的选择结构语句,它由一个switch控制表达式和多个case关键字组成。与if条件语句不同的是,switch 条件语句的控制表达式结果类型只能是byte、short、char、int、enum枚举以及String类型,而不能是boolean类型。switch条件语句的基本语法格式如下:

switch (控制表达式){
    case 目标值1:
        执行语句1
        break;
    case 目标值2:
        执行语句2
        break;
    ...
    case 目标值n:
        执行语句n
        break;
    default:
        执行语句n+1
        break;
}

在上面的语法格式中,switch语句将控制表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的执行语句,并通过break关键字跳出该switch语句;如果搜索完所有case中的目标值仍没找到任何匹配的值,就会执行default后的语句。switch语句中的break关键字将在后面的小节中做具体介绍,此处,读者只需要知道break的作用是跳出switch语句即可。

接下来通过一个根据月份来判断当前所属季节的案例来演示switch条件语句的使用,如文件1所示。

文件1 Example10.java

 1    public class Example10{
 2        public static void main(String[] args) {
 3            int month = 5; //假设当前为5月份
 4            switch (month) {
 5            case 12:
 6            case 1:
 7            case 2:
 8                System.out.println("当前为时间为冬季");
 9                break;
 10            case 3:
 11            case 4:
 12            case 5:
 13                System.out.println("当前时间为春季");
 14                break;
 15            case 6:
 16            case 7:
 17            case 8:
 18                System.out.println("当前时间为夏季");
 19                break;
 20            case 9:
 21            case 10:
 22            case 11:
 23                System.out.println("当前时间为冬季");
 24                break;
 25            default:
 26                System.out.println("输入的月份不正确!!!");
 27                break;
 28            }
 29        }
 30    }

运行结果如图1所示。

图1 运行结果

从文件1可以看出,当有多个case目标值会执行同样的执行语句时,可以将这多个case标签并列书写,并只编写一次执行语句即可。

文件1中,由于变量 month的值为5(即当前月份为5月),整个switch语句判断的结果满足第12行代码的条件,因此输出“当前时间为春季”。文件中的default语句用于处理和前面的case目标值都不匹配的情况,如果将第3行代码替换为“int month= 13;”,那么再次运行程序后,输出的结果如图2所示。

图2 运行结果

注意:

在使用switch条件语句时,需要特别注意两点:第一,switch条件语句后{}中的多个case以及default标签顺序可以随机,并不影响程序的执行结果;第二,在case和default标签中的执行语句后务必都加上break关键字,用于执行完语句后跳出当前的switch条件语句,否则,程序会接着执行后续的执行语句,直到遇到break关键字或switch语句末尾为止。

点击此处
隐藏目录