开关盒中的值修改

时间:2016-07-28 08:40:14

标签: java initialization switch-statement

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?是什么原因?

4 个答案:

答案 0 :(得分:3)

你在第一个默认情况之后错过了一个中断语句,所以执行只是落到了第二种情况。同时将默认情况放在最后,这样只有在检查完所有其他情况后它才会被执行。

 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;
        }
    }

答案 1 :(得分:3)

当我跑步时,打印出来:

default  
zero  

你有几个错误。

(1)将默认案例放在最后,而不是开头。否则,您将自动进入默认情况 (2)在每个案例之后加上一个中断语句。如果你不这样做,你的代码将从没有中断的情况继续,并执行下一个案例(和下一个案例)的代码,直到它休息。

试试这个

public class Sample {
    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");
        }
    }
}

Java switch语句的链接 - http://www.tutorialspoint.com/java/switch_statement_in_java.htm

答案 2 :(得分:1)

您错过了在默认情况下使用break,因此程序继续执行并打印"零"。

答案 3 :(得分:1)

你犯了两个错误。

  1. 您应将默认案例始终放在最后
  2. 您缺少重要的break s
  3. <强>解决方案:

    public class Sample 
    {
        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");
            }
        }
    }