在 Java 中对一个 Switch Case 语句使用多个值
在本文中,我们将学习如何在一个 switch-case 语句中使用多个值。
使用 switch-case 语句
Java 允许程序员通过使用 switch case 语句来像其他编程语言一样克服太多的 if-else 条件语句。 另外,如果用户想在使用 switch-case 语句时对多种情况执行相同的操作怎么办?
通常,用户可以执行如下操作。
class Test {
public static void main(String[] args) {
int num = 9;
switch (num%4) {
case 1:
System.out.println("num is not divisible by 4.");
break;
case 2:
System.out.println("num is not divisible by 4.");
break;
case 3:
System.out.println("num is not divisible by 4.");
break;
case 0:
System.out.println("num is divisible by 4.");
break;
default:
System.out.println("num is not divisible by 4.");
}
}
}
在上面的示例中,我们使用 switch-case 语句来检查数字是否可以被 4 整除。我们在 switch-case 语句中使用 num%4 条件并根据模运算打印响应。
用户可以看到我们对模 1、2 和 3 打印了相同的句子:num is not didiible by 4。
输出:
num is not divisible by 4.
对一个 switch-case 语句使用两个或多个值
为了使用 switch-case 语句确定一个数字是否可以被 4 整除,我们在上面的示例中编写了 10 行代码。 通过对单个 switch-case 语句使用多个值,我们可以使代码更清晰、更具可读性。
在下面的示例中,我们对情况 1、2 和 3 使用了单个 switch-case 语句。用户可以看到代码看起来更清晰、更具可读性,并且仍然提供相同的输出。
示例代码:
class Test {
public static void main(String[] args) {
int num = 9;
switch (num%4) {
case 1:
case 2:
case 3:
System.out.println("num is not divisible by 4.");
break;
case 0:
System.out.println("num is divisible by 4.");
break;
default:
System.out.println("num is not divisible by 4.");
}
}
}
输出:
num is not divisible by 4.
使用箭头语法为一个 switch-case 语句使用多个值
Java 14 引入了 switch-case 语句的新语法。 用户可以通过逗号分隔来为单个案例添加多个值,并且用户必须将可执行代码放在花括号中。
switch-case 语句的箭头语法是:
case firstCase,secondCase,thirdCase ->{
// executable code
}
示例代码:
public class Test {
public static void main(String[] args) {
int num = 9;
switch (num%4) {
case 1,2,3 -> {
System.out.println("num is not divisible by 4.");
}
case 0->{
System.out.println("num is divisible by 4.");
}
default->{
System.out.println("num is not divisible by 4.");
}
}
}
}
在上面的示例中,我们在检查数字是否能被 4 整除时,对 1、2 和 3 种情况使用了 switch-case 语句的新语法。
输出:
num is not divisible by 4.
示例代码:使用 switch-case 返回特定年份的月份天数
在下面的示例中,我们使用 switch-case 箭头语法来获取当前月份的天数。 用户可以看到,我们使用收益率返回 1、3、5、7、8、10 和 12 个案例的 31 天,以及 4、6、9 和 11 个案例的 30 天。
public class Test {
public static void main(String[] args) {
int monthToCheck = 2;
int yearToCheck = 1968;
int days = switch (monthToCheck) {
case 4, 6, 9, 11 ->{
yield 30;
}
case 1, 3, 5, 7, 8, 10, 12 ->{
yield 31;
}
case 2 ->{
if ((( monthToCheck % 4 == 0) &&
!( monthToCheck % 100 == 0))
|| ( monthToCheck % 400 == 0))
yield 29;
else
yield 28;
}
default ->{
System.out.println("Month is not valid.");
yield -1;
}
};
System.out.println("Number of Days in month " + monthToCheck + " is = " + days);
}
}
输出:
Number of Days in month 2 is = 28
本文通过不同的示例教会我们如何在单个 switch-case 语句中使用多个值。 此外,我们还看到了使用具有多个值的 switch-case 语句获取天数的现实示例。
我们可以通过对单个 switch-case 语句使用多个值来澄清我们的代码。
相关文章
Java 聚合与组合
发布时间:2023/07/16 浏览次数:67 分类:Java
-
在Java中,聚合和组合是紧密相连的两个概念。 组合是类之间的紧密关联,而聚合是弱关联。Java 中的组合 Java 中的聚合
Java 错误 Java.Security.InvalidKeyException: Illegal Key Size
发布时间:2023/07/15 浏览次数:98 分类:Java
-
本篇文章介绍包含 java.security.InvalidKeyException: Illegal key size 的 Java 代码。 然后,我们将了解其可能的原因。最后,它通过消除指定的错误来引导我们找到解决方案。
Java 错误 Java.SQL.SQLException: Access Denied for User Root@Localhost
发布时间:2023/07/15 浏览次数:72 分类:Java
-
本篇文章介绍如何解决 Java 中的 java.sql.SQLException: Access Denied for user 'root'@'localhost' 错误。修复 Java 中的 java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
Java 异常 Java.Lang.ClassNotFoundeException: Sun.Jdbc.Odbc.JdbcOdbcDriver
发布时间:2023/07/15 浏览次数:106 分类:Java
-
本篇文章介绍了 Java 中的 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver 错误。修复 Java 中的 java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver
Java 错误 Gateway Process Exited Before Sending Its Port Number
发布时间:2023/07/15 浏览次数:104 分类:Java
-
本篇文章介绍了 Java 中 Java gateway process exited before sending the driver its port number 错误 Java gateway process exited before sending the driver its port number 错误
修复 Java 中 Java.Net.BindException: Address Already in Use: Bind 错误
发布时间:2023/07/15 浏览次数:77 分类:Java
-
本篇文章介绍了 Java 中的 java.net.BindException:Address already in use: Bind 错误。修复Java 中的 java.net.BindException:Address already in use: Bind
修复 Java 中 Java.Net.SocketException: Broken Pipe 错误
发布时间:2023/07/15 浏览次数:162 分类:Java
-
本篇文章介绍了使用 Java 编程的 java.net.SocketException: Broken pipeline 错误,并重点介绍了其可能的原因和解决方案。错误描述、原因及解决方法
Java 异常 Java.Lang.ClassNotFoundException: Org.SpringFramework.Web.Servlet.Dis
发布时间:2023/07/15 浏览次数:179 分类:Java
-
今天关于 Java 的文章将介绍错误 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet。什么是 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
Java 抛出运行时异常 Throw Runtime Exception
发布时间:2023/07/15 浏览次数:146 分类:Java
-
本篇文章介绍如何在 Java 中引发运行时异常。Java 抛出运行时异常 Runtime Exception 是所有 Java 异常的父类,这些异常发生时会导致程序崩溃或崩溃。