switch 语句允许根据值列表测试变量是否相等。每个值被称为一个case,并针对每个case检查正在打开的变量。
语法switch(expression) {
case value :
//声明
break;
case value :
//声明
break;
// You can have any number of case声明.
default :
//声明
}
以下规则适用于switch语句-switch语句中使用的变量只能是整数,可转换整数(字节,短整数,字符),字符串和枚举。
开关内可以有任意数量的case语句。每个案例后面都跟要比较的值和一个冒号。
case的值必须与开关中的变量具有相同的数据类型,并且必须是常量或文字。
当打开的变量等于大小写时,该大小写之后的语句将执行,直到到达break语句为止。
当到达break语句时,开关终止,控制流跳至switch语句后的下一行。
并非每个case都需要休息一下。如果没有出现中断,则控制流将进入随后的情况,直到达到中断为止。
switch语句可以有一个可选的默认情况下,它必须出现在开关的结束。当所有情况都不为真时,可以使用默认情况来执行任务。在默认情况下,无需中断。
例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