首页  >  文章  >  Java  >  Java 中的 case 语句

Java 中的 case 语句

WBOY
WBOY原创
2024-08-30 15:24:191102浏览

在编程时,处理不同条件下的不同动作是非常困难的。尽管在 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 语句在 Java 中如何工作?

如上所述,当表达式的值与 Case 值匹配时,将执行特定 Switch 语句中的 Case。如果没有任何值与 case 值匹配,则执行 Switch 块中定义的 default 语句;否则,什么都不会被执行。

重要要点总结:

  • 程序中可以有多个switch块,根据不同的情况而定。
  • 单个 Switch 块中可以有任意数量的 Case 语句。
  • Case 语句中不允许出现重复值。
  • switch 语句的变量的数据类型需要与 Case 语句的值相同。
  • Case 值不允许使用变量。值可以是常量或文字。
  • 每个 Case 中的 Break 关键字用于终止该 Case 的特定语句序列。如果任何 case 语句中都没有使用break,那么就不会出现错误;相反,所有与匹配案例相关的案例都会被执行。
  • Beak 和 default 关键字在 Switch 块中是可选的。

Java中Switch Case语句的语法

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
}

Switch Case 语句流程图

上面的流程图清楚地展示了Java中Switch和Case语句的工作原理。它显示了 Switch 语句中定义的表达式如何与从顶部开始直到最后一步的 Case 值进行匹配。如果直到最后一步才匹配该值,即每个 case 结束时都返回 false,则执行“default”内的代码。如果任何 case 的值与表达式匹配,即任何 Case 语句中返回“true”,则执行特定块的代码,然后执行退出 Switch 块。

Java 中的 case 语句

Case Java 语句示例

下面的示例清楚地展示了 Case 语句在 Java 中的工作原理。

示例#1

当 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;
}
}
}

输出:

Java 中的 case 语句

示例#2

当没有值与 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;
}
}
}

输出:

Java 中的 case 语句

示例 #3

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;
}
}
}

输出:

Java 中的 case 语句

示例#4

当 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;
}
}
}

输出:

Java 中的 case 语句

结论

在上面的文章中,我们已经提到了 switch 语句的几乎所有场景以及它们可以生成的输出。虽然使用 Switch 语句非常容易,但程序员在使用它们之前应该彻底理解它,因为有时如果犯了一些错误,可能会产生意想不到的结果。一般情况下,Switch应该用在需要在一定条件下执行动作,且条件较多的场景。只有2-3个条件的情况下,可以用if-else -if语句来解决。

推荐文章

这是 Java 中 Case 语句的指南。在这里,我们讨论 Java 中 Switch-Case 语句的流程图以及语法和示例。您还可以浏览我们其他推荐的文章以了解更多信息 –

  1. Java 中的星形图案
  2. Java 框架
  3. 最佳 Java 编译器
  4. JavaScript 中的案例语句

以上是Java 中的 case 语句的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn