Java开关:变量声明和范围 [英] Java switch : variable declaration and scope
本文介绍了Java开关:变量声明和范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Java编译器如何处理以下交换机块?
'b'变量的范围是什么?
How does the Java compiler handle the following switch block ? What is the scope of the 'b' variable ?
请注意,'b'变量仅在switch语句的第一个分支中声明。试图在第二个分支中声明它也会导致重复的局部变量编译错误。
Note that the 'b' variable is declared only in the first branch of the switch statement. Attempting to declare it in the second branch as well results in a "duplicate local variable" compilation error.
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编译器编译。
Note: the above code compiles with a java 1.6 compiler.
推荐答案
范围与正常情况一样,由 {
和<$ c $分隔c>} 。
The scope is, just as usual, delimited by {
and }
.
这篇关于Java开关:变量声明和范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文