public class Sample {
public static void main(String[] args) {
    int i = 9;
    switch (i) {
    default:
        System.out.println("default");
    case 0:
        System.out.println("zero");
        break;
    case 1:
        System.out.println("one");
    case 2:
        System.out.println("two");
    }
}
}


输出:

default
zero


尽管i初始化为9,怎么可能选择情况0?是什么原因?

最佳答案

您在第一个默认情况下错过了break语句,因此执行仅落在第二个情况下。还可以将Default情况放在最后,以便仅在检查所有其他情况后才执行。

 public static void main(String[] args) {
        int i = 9;
        switch (i) {

        case 0:
            System.out.println("zero");
            break;
        case 1:
            System.out.println("one");
            break;
        case 2:
            System.out.println("two");
            break;
        default:
            System.out.println("default");
            break;
        }
    }

10-08 07:36
查看更多