有人可以帮我理解Java中的范围规则吗?这显然无效:
{
int i = 0;
System.out.println(i); // fine, of course
}
System.out.println(i); // syntax error
我在{}内宣布,并且在外面不可用.那么这个怎么样:
for (int i = 0; i < 10; i++) {
System.out.println(i); // fine, of course
}
System.out.println(i); // syntax error, same as above.
我对这里的语法错误感到惊讶.我在外部范围内声明,但稍后无法使用.是否通过for循环的一些特殊规则绑定到内部块范围?还有其他可能发生这种情况的情况吗?
解决方法:
想到for循环实际上表示如下:
{
int i = 0;
while (i < 10) {
// your code
i ++
}
}