Java中switch语句问题?请看问题补充;答案为什么不是7;为什么不是6;

2025-03-20 06:55:58
推荐回答(2个)
回答1:

因为你语法写的有问题,它从4开始进去j++=2,到5的时候又进去了j++=3,然后再进default里,又j++=4,然后x是4,j也是4,这不是8吗。

switch不是这么用的,你这错误叫穿透,你百度穿透就明白了,我给您改了一下。

public static void main(String[] args) {

    System.out.println("value=" + switchlt(4));
}

public static int switchlt(int x) {

    int j = 1;
    switch (x) {
    case 1:
        j++;
        break;
    case 2:
        j++;
        break;
    case 3:
        j++;
        break;
    case 4:
        j++;
        break;
    case 5:
        j++;
        break;
    default:
        j++;
    }
    return j + x;
}

结果是6,这样语法是正确的!

回答2:

case语句后没有break,default还是会执行j++ 执行了两次 j=3+x 所以等于7