在编程时,处理不同条件下的不同动作是非常困难的。尽管在 Java 和许多其他编程语言中,if-else、if-else-if 等语句在各种条件下使用。但是,如果有“n”个场景需要针对每个条件采取单独的操作怎么办?此时的多个 if 和 else-if 语句可能会在代码中的某个时刻给程序员带来混乱,因为它涉及多个大括号和每个条件的一组语句。为了在 Java 中处理此类情况,可以使用 Switch-Case 语句来简化程序员并减少代码行和复杂性。
switch 语句是分支语句。 case 是与 Switch 语句一起使用的关键字。当表达式的值与case值匹配时,它执行语句/语句,并且特定语句的代码以break关键字结束。 Java中的Case值可以是byte、int、short、byte数据类型。到了Java JDK7,case的值还可以是String、Wrapper和枚举类型。如果 Case 的任何值与表达式不匹配,则执行默认语句。尽管在 Switch-Case 语句中 default 和 break 关键字不是强制性的。
开始您的免费软件开发课程
网络开发、编程语言、软件测试及其他
如上所述,当表达式的值与 Case 值匹配时,将执行特定 Switch 语句中的 Case。如果没有任何值与 case 值匹配,则执行 Switch 块中定义的 default 语句;否则,什么都不会被执行。
重要要点总结:
switch (expression) { // case statements // same data type for switch expression and case value Case value1: //Statement /statements to be executed break; case value 2: //Statement /statements to be executed break; case value'n': //Statement /statements to be executed break; // There can be as many Cases as the user wants in a Switch block //default is an optional case and executed if none of the case values matches the expression default: //statement }
上面的流程图清楚地展示了Java中Switch和Case语句的工作原理。它显示了 Switch 语句中定义的表达式如何与从顶部开始直到最后一步的 Case 值进行匹配。如果直到最后一步才匹配该值,即每个 case 结束时都返回 false,则执行“default”内的代码。如果任何 case 的值与表达式匹配,即任何 Case 语句中返回“true”,则执行特定块的代码,然后执行退出 Switch 块。
下面的示例清楚地展示了 Case 语句在 Java 中的工作原理。
当 Switch 表达式的值与 Case 值匹配时
代码:
public class MyClass { public static void main(String args[]) { int value = 8; switch (value) { case 3: System.out.println("Congratulations here is the case 3 executed"); break; case 4: System.out.println("Congratulations here is the case 4 executed"); break; case 8: System.out.println("Congratulations here is the case 8 executed"); break; default: System.out.println("Sorry none of your cases matched"); break; } } }
输出:
当没有值与 Switch 表达式匹配时
代码:
public class MonthClass { public static void main(String args[]) { int month= 13; switch (month) { case 1: System.out.println("Month is January"); break; case 2: System.out.println("Month is February"); break; case 4: System.out.println("Month is April"); break; default: System.out.println("Sorry either the value you have given is invalid or not matched with any of the case."); break; } } }
输出:
Case 语句中缺少break关键字时
代码:
public class VowelClass{ public static void main(String args[]) { char ch = 'a'; switch (ch) { case 'e': System.out.println("Value matched - e, a vowel\n"); break; case 'a': System.out.println("Value matched - a, a vowel"); case 'w': System.out.println("Value matched - w, not a vowel"); case 'o': System.out.println("Value matched - o, a vowel"); default: System.out.println("Sorry none of your cases matched"); break; } } }
输出:
当 switch 块中没有默认块时
代码:
public class NoOutputClass { public static void main(String args[]) { char grades = 'D'; switch (grades) { Case 'A': System.out.println("Grade A - Excellent"); break; case 'B': System.out.println("Grade B - Good"); break; case 'C': System.out.println("Grade C - Poor"); break; } } }
输出:
在上面的文章中,我们已经提到了 switch 语句的几乎所有场景以及它们可以生成的输出。虽然使用 Switch 语句非常容易,但程序员在使用它们之前应该彻底理解它,因为有时如果犯了一些错误,可能会产生意想不到的结果。一般情况下,Switch应该用在需要在一定条件下执行动作,且条件较多的场景。只有2-3个条件的情况下,可以用if-else -if语句来解决。
这是 Java 中 Case 语句的指南。在这里,我们讨论 Java 中 Switch-Case 语句的流程图以及语法和示例。您还可以浏览我们其他推荐的文章以了解更多信息 –
以上是Java 中的 case 语句的详细内容。更多信息请关注PHP中文网其他相关文章!