首页 > 解决方案 > 如果默认值位于开关盒的中间,则失败?

问题描述

我有个问题。在 switch 语句中,default即使不是最后一个,也测试最后一个?

如果是这样,请在以下代码段中:

int i = 6;
int a=0, b=0, c=0;
switch (i) 
{
    case 1: 
    a++; 
    case 2: 
    default: 
    case 3: 
    b++; 
    case 6:
    c++; 
}
System.out.println(a + " " + b + " " + c); 

与case 6匹配后,增加c的值,既然没有break,会恢复默认吗?

我确实尝试了这段代码,但它似乎没有默认,也没有发生故障。我只是想知道?

标签: javaswitch-statementdefault

解决方案


switch从匹配case到语句的任break一或结尾进行评估。switch如果您通过 6,它将输入 6 的大小写并且只做一个增量。但是,如果您输入 7,它将从defaultswitch 开始并下降到结束,并进行两次增量。


推荐阅读