Java switch 语句
switch 语句允许将变量与其值列表进行比较。每个值称为一个 case,并且正在进行切换的变量将针对每个 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 中变量的数据类型相同,并且必须是常量或字面量。
当正在进行切换的变量等于某个 case 时,该 case 后面的语句将执行,直到遇到 break 语句。
遇到 break 语句时,switch 将终止,并且控制流跳转到 switch 语句后面的下一行。
并非每个 case 都需要包含 break。如果未出现 break,则控制流将贯穿到后续的 case,直到遇到 break。
switch 语句可以有一个可选的 default case,它必须出现在 switch 的末尾。default case 可用于在没有 case 为 true 时执行任务。在 default 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
广告