Java switch语句
switch语句允许对变量进行相等性检测,检测目标是一个值列表。每个值被称为一个case,被switch语句检查的变量会与每个case进行比较。
语法
增强for循环的语法如下 –
switch(expression) {
case value :
// Statements
break; // optional
case value :
// Statements
break; // optional
// You can have any number of case statements.
default : // Optional
// Statements
}
以下规则适用于 switch 语句 –
- 在switch语句中使用的变量只能是整数、可转换的整数(byte、short、char)、字符串和枚举。
-
在switch中可以有任意数量的case语句。每个case后面是要与之进行比较的值和一个冒号。
-
case的值必须与switch中的变量具有相同的数据类型,并且必须是常量或字面值。
-
当被switch选择的变量等于一个case时,随后的语句将被执行,直到遇到break语句。
-
当遇到break语句时,switch终止,并且控制流转到switch语句后面的下一行。
-
不是每个case都需要包含break。如果没有break,控制流将继续流向下一个case,直到遇到break。
-
switch语句可以有一个可选的默认case,必须出现在switch的末尾。默认case可用于在没有任何case为真时执行任务。默认case不需要使用break。
流程图
示例
public class Test {
public static void main(String args[]) {
// char grade = args[0].charAt(0);
char grade = 'C';
switch(grade) {
case 'A' :
System.out.println("Excellent!");
break;
case 'B' :
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
使用不同的命令行参数编译并运行上述程序,将会产生以下结果 –
输出
Well done
Your grade is C