Java switch:变量声明和作用域

Java编译器如何处理以下开关块?“ b”变量的范围是什么?

注意,“ b”变量仅在switch语句的第一个分支中声明。尝试在第二个分支中声明它也会导致“重复的局部变量”编译错误。

    int a = 3;

switch( a ) {

case 0:

int b = 1;

System.out.println("case 0: b = " + b);

break;

case 1:

// the following line does not compile: b may not have been initialized

// System.out.println("case 1 before: b = " + b);

b = 2;

System.out.println("case 1 after: b = " + b);

break;

default:

b = 7;

System.out.println("default: b = " + b);

}

注意:以上代码使用Java 1.6编译器进行编译。

回答:

与通常一样,范围由{和分隔}

以上是 Java switch:变量声明和作用域 的全部内容, 来源链接: utcz.com/qa/431214.html

回到顶部