代码之家  ›  专栏  ›  技术社区  ›  alex

如果没有中断,Java开关将运行所有情况

  •  -3
  • alex  · 技术社区  · 4 年前

    我对这个例子感到困惑。如果 break Today is Saturday Today is Sunday 将被打印。我要知道为什么会这样?

    int day = 4;
    switch (day) {
      case 4:
        System.out.println("Today is Saturday");
       // break;
      case 7:
        System.out.println("Today is Sunday");
       // break;
     
    }
    
    2 回复  |  直到 4 年前
        1
  •  3
  •   Tim Biegeleisen    4 年前

    你的问题可能是其他问题的重复,但原因是 case Java中的语句 switch 默认情况下,将流到下一个 案例 声明,除非 break 被明确提及。为了更好地理解 为什么?

    switch (day) {
        case 1:
        case 2:
        case 3:
            System.out.println("Today is Monday, Tuesday, or Wednesday");
            break;
    
        case 4:
            System.out.println("Today is Thursday");
            break;
    
        case 7:
            System.out.println("Today is Sunday");
            break;
    }
    
        2
  •  0
  •   ria monga    4 年前

    中断语句: Break语句用于终止循环。当在循环中遇到break语句时,循环将被激活 立即终止。

    因此,当我们使用 内部声明 转换 语句,它在这种情况下终止循环,程序控制在循环后面的下一个语句中恢复。

    回答您的问题: 打破 转换 打破 遇到语句。