为什么我不能访问交换机中声明的变量?

时间:2014-01-20 18:41:49

标签: java switch-statement global-variables

这是我的代码: 有一个问题“无法访问变量j”

public static void main(String args[]) { 
    char digit = 'a';
    for (int i = 0; i < 10; i++){ 
        switch (digit){ 
            case 'x' : { int j = 0; System.out.println(j); } 
            default : { int j = 100; System.out.println(j); }

        }
    }
    int i = j;
    System.out.println(i); 
}

1 个答案:

答案 0 :(得分:3)

每个变量都有范围。范围是关于可以访问某些变量的限制。

声明任何类型的块{}中的变量时,该变量只能在该代码块中访问。

您必须在块外部声明(并可能初始化)变量,以使其范围更大,无论是在方法级别还是作为static变量(或者如果您使用实例方法,则为实例)