Java Switch语句
使用switch
语句,可以从许多代码块中选择一个执行。
语法
switch(表达式) { case x: // 代码块 break; case y: // 代码块 break; default: // 代码块 }
switch
语句是这样工作的:
-
switch
中的表达式求值一次。 - 将表达式的值与每个
case
的值进行比较。 - 如果匹配,则执行相关联的代码块。
-
break
和default
关键字是可选的,本章稍后将对此进行描述
下面的例子,使用周工作日编号来计算周工作日名称:
示例
int day = 4; switch (day) { case 1: System.out.println("周一"); break; case 2: System.out.println("周二"); break; case 3: System.out.println("周三"); break; case 4: System.out.println("周四"); break; case 5: System.out.println("周五"); break; case 6: System.out.println("周六"); break; case 7: System.out.println("周日"); break; } // 输出 "周四" (day 4)
break 关键字
当程序执行遇到break
关键字时,就会跳出当前switch块。后续的case
都会跳过,不再检测。
当找到匹配项,工作完成时,就该跳出了,没有必要进行更多的检测。
break可以节省执行时间,因为“跳过”了switch
块中剩余代码的执行。
default 关键字
当没有匹配的case
时,default
关键字下的代码块就会运行。
示例
int day = 4; switch (day) { case 6: System.out.println("今天是周六"); break; case 7: System.out.println("今天是周日"); break; default: System.out.println("期待周末"); } // 输出 "期待周末"
注意,如果default
语句是switch块中的最后一个语句,则不需要break
。