Switch语句介绍
Switch语句是一种多重分支语句,它提供了一种基于不同情况执行不同代码的方式,它可以将表达式与多个case标签配对,一旦匹配就执行相应的代码块,如果没有匹配则执行default语句块。
Switch语句的语法格式
switch(expression) {
case constant-expression1:
code block
break;
case constant-expression2:
code block
break;
.
.
.
default:
code block
}
其中expression 表示要判断的表达式,constant-expression表示一个常量表达式,如果匹配上了就执行对应的代码块,代码执行完后加上break;表示跳出switch语句,否则继续匹配下一个case标签,如果所有的case标签都无法匹配到则执行default语句块。
Switch语句的主要特点
Switch语句是一种多重分支语句,具有以下几个特点:
可读性强:Switch语句使用case标签和默认语句来标记不同的执行路径,代码的逻辑结构清晰明了,便于阅读和维护。
运行速度快:Switch语句通过快速跳转到匹配的case标签来执行代码,因此执行速度较快。
支持区间匹配:除了支持单个常量匹配,Switch语句还支持对表达式进行区间匹配。
Switch语句中case后的标号限制
Switch语句中case后的标号只能是整数型(int, long, char, short)或枚举类型(enum)。
整数型的限制
整数类型的case标签必须是整形,包括int, long, char以及short类型,这是因为引入Switch语句的初衷就是为了方便处理整数类型的数据。
int score = 90;
switch (score) {
case 90:
System.out.println("A");
break;
case 80:
System.out.println("B");
break;
case 70:
System.out.println("C");
break;
default:
System.out.println("D");
}
上述代码中score的类型为int,因此case标签中只能使用整数值90、80和70。
枚举类型的限制
Switch语句支持枚举类型(enum),枚举类型用于将一组可枚举的常量作为一个集合来处理。
enum Color {
RED, GREEN, BLUE;
}
Color color = Color.RED;
switch(color) {
case RED:
System.out.println("红色");
break;
case GREEN:
System.out.println("绿色");
break;
case BLUE:
System.out.println("蓝色");
break;
default:
break;
}
上述代码中使用枚举类型Color定义了三个常量值RED、GREEN和BLUE,当switch语句匹配到RED时执行第一个代码块。
总结
Switch语句是一种高效、可读性强的多重分支语句,它可以方便地处理整数类型和枚举类型的数据,对于其他类型的数据,需要先将其转换为整数型或者枚举类型才能使用。
Switch语句中case后的标号只能是整数型(int, long, char, short)或枚举类型(enum)。