java switch语句很多情况都简化了

标签 java switch-statement

所以我们可以说 switch 语句是,

switch (month) {  
    case 1: monthString = "January";  
        break;  
    case 2: monthString = "February";  
        break;  
    case 3: monthString = "March";  
        break;  
    case 4: monthString = "April";  
        break;  
    case 5: monthString = "May";  
        break;  

是否可以将其缩短为类似的内容

switch (month) {
    cases 1-3: monthString = "January";
        break;
    case 4-5: monthString = "April";
        break;

那么一个案例下有多个案例编号吗?我正在这样做,因为我有100个案例。 30 导致一个答案,20 导致另一个答案,5 导致另一个答案等等...所以如果我可以使用多种情况,我应该大量减少代码。我还应该提到,在每种情况下,我都会想做一些事情,如果我使用一系列 if else 语句,它只会让我执行一个操作,所以我似乎无法走那条路。谢谢你的帮助!抱歉,我是新手!

最佳答案

Is it possible to shorten that to something like

Java 教程中有更好的解释 The switch Statement

是的,你可以做到。

一些要点:

  • 不要忘记添加 break 语句。
  • 在所有分组案例后添加单个 break 语句。
  • 永远不要忘记添加 default 大小写。

示例代码:

    int month = 1;
    String monthString = null;

    switch (month) {
        case 1:
        case 2:
        case 3:
            monthString = "January";
            break;
        case 4:
        case 5:
            monthString = "April";
            break;
        ...
        default:
            ...
    }

关于java switch语句很多情况都简化了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24947689/

相关文章:

java - 将 Mongo Collection 中的多个 Flux 合并为一个

java - 使用Java代码关闭Windows操作系统

java - 使用java代码将图片插入数据库(sqlite)。我应该怎么办?

swift - Switch 语句循环 Swift 中的所有情况

c# - 使用带有版本开关的 Get/Set 来定义属性的最有效方法是什么?

c - 将撇号作为开关的大小写

java - 子类无法被保护

java - 慢速多线程 java 应用程序 : is this due to access to static object?

使用 switch 进行字符比较

javascript - javascript switch 语句的最佳实践