Switch ... Case
语句是Java编程中常用的选择语句。Switch case只需设置在给定大小写匹配时要执行的大小写和相关代码块。
语法
Java中switch case语句的完整语法如下所示。
switch(EXPRESSION){ case CASE1: CASE1_CODE_BLOCK; break; case CASE2: CASE2_CODE_BLOCK; break; ... default: DEFAULT_CODE_BLOCK;}
- `switch`是用于创建新switch case块的关键字。
- `EXPRESSION`是一个表达式,除了默认的case外,它将根据CASE1、CASE2…等所有case进行检查。如果匹配,则将执行相关的case块。
- `CASE1`定义一个case,如果case与表达式匹配,则提供要执行的case代码块。
- `如果CASE1与表达式匹配,将执行CASE1u CODEu BLOCK`。
- `中断;`语句将结束当前案例和整个案例切换,这意味着将不检查以下案例`中断;`语句是可选的,但通常用作良好的实践。
- `default`是默认情况,如果不匹配,将使用’defaultu CODEu块执行默认情况`
- `当默认大小写匹配时,将执行DEFAULTu CODEu BLOCK`。
开关箱示例
我们将创建一个示例,根据给定的天数打印工作日名称。
public class Switch_Case_Example { public static void main(String[] args) { int day = 5; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); break; } }}

我们可以看到 day
存储日数并与1到7之间的其他日数进行检查。日数与 case 5
哪个是 Friday and it will be printed to the screen. The
打破 statement will end the current switch-case.
Switch Case String Example
We can also use string expression in order to match the given cases. We will check in the reverse form of the previous example. We will provide the 星期五 day name and print the day number to the console. If we are using String for math under the hood the String type
equals()`方法将由switch case使用。
public class Switch_Case_Example_String { public static void main(String[] args) { String day_name = "Friday" ; switch (day_name) { case "Monday": System.out.println(1); break; case "Tuesday": System.out.println(2); break; case "Wednesday": System.out.println(3); break; case "Thursday": System.out.println(4); break; case "Friday": System.out.println(5); break; case "Saturday": System.out.println(6); break; case "Sunday": System.out.println(7); break; } }}

此代码将向控制台打印5,因为“星期五” 是一周的第五天。我们将设置 day_name
变量为“Friday”作为字符串,并用开关大小写检查。
相关文章: C/C++教程中的切换实例说明
开关箱枚举示例
我们还可以将枚举类型数据用于switch case。我们将创建一个枚举类型 Day
并创建一个名为Day enum类型的新变量 Now
. 那我们就出发 Day.Friday
到 Now
.
public class Switch_Case_Example_Enum { public enum Day { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday } public static void main(String args[]) { Day Now = Day.Friday; switch (Now) { case Sunday: System.out.println("Sunday"); break; case Monday: System.out.println("Monday"); break; case Tuesday: System.out.println("Tuesday"); break; case Wednesday: System.out.println("Wednesday"); break; case Thursday: System.out.println("Thursday"); break; case Friday: System.out.println("Friday"); break; case Saturday: System.out.println("Saturday"); break; } }}

切换大小写规则
在使用开关箱时,必须遵守一些规则并正确使用开关箱。
- 不允许重复的案例,这将导致冲突和错误。
- 表达式和大小写值应该是相同的类型,以便正确地检查、比较和匹配。
- 大小写值应为常量或文字(字符串或数字)。不允许使用变量。
- break语句是可选的,可以在整个开关情况下忽略它。
- 当到达break语句时,整个switch case将结束。
中断关键字
我们已经使用了前面所有的例子 break
关键字。 break关键字用于停止开关箱,然后退出开关箱,这将阻止检查以下情况。这可能很有用,因为在一次匹配之后,我们可能不需要进行下一次检查。如果我们忘记了break语句,下面的代码块将被执行。
默认关键字/大小写
关键字的默认大小写是在给定的大小写不匹配并且我们想要运行一些代码时使用的。default关键字也被命名为defaultcase,这意味着在没有匹配项的情况下运行defaultcase。这对于运行默认代码特别有用。我们可以将缺省情况放在switch case中的任何位置,但为了使代码更具可读性,将缺省情况放在switch case的末尾是一种最佳做法。
public class Switch_Case_Example { public static void main(String[] args) { int day = 50; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); break; default: System.out.println("Please provide proper day number"); } }}

在本例中 day
是50,这在给定的情况下将不匹配,因此将运行默认情况,该情况将打印到屏幕“请提供正确的天数”。
相关文章: Linux Bash Case语句及其示例
嵌套开关盒
开关盒可以嵌套多次。但请记住,这将使应用程序变得一团糟,更难阅读其他程序员。在下面的示例中,我们将向“Sunday”案例添加嵌套的switch案例。
public class Switch_Case_Example { public static void main(String[] args) { int day = 50; String time = "Morning"; switch (day) { case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wednesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: System.out.println("Saturday"); break; case 7: System.out.println("Sunday"); switch(time){ case "Morning": System.out.println("Morning"); break; case "Afternoon": System.out.println("Afternoon"); break; } break; default: System.out.println("Please provide proper day number"); } }}
