Java switch 语句
java programming java8java technologies object oriented programming
switch 语句允许测试一个变量是否与一系列值相等。每个值称为一个 case,并且针对每个 case 检查被切换的变量。
语法
增强 for 循环的语法是 −
switch(expression) { case 值: // 语句 break; // 可选 case 值: // 语句 break; // 可选 // 可以有任意数量的 case 语句。 default : // 可选 // 语句 }
以下规则适用于 switch 语句 −
switch 语句中使用的变量只能是整数、可转换整数(byte、short、char)、字符串和枚举。
一个 switch 语句中可以有任意数量的 case 语句。每个 case 后面都跟着要比较的值和一个冒号。
case 的值必须与 switch 中的变量具有相同的数据类型,并且必须是常量或字面量。
当被 switch 的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到 break 语句。
遇到 break 语句时,switch 终止,控制流跳转到 switch 语句的下一行。
并非每个 case 都需要包含 break。如果没有 break,控制流将直接执行后续 case,直到遇到 break。
switch 语句可以包含一个可选的默认 case,它必须出现在 switch 的末尾。默认 case 可用于在所有 case 都不为真时执行任务。默认情况下无需中断。
流程图
示例
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