Java中的范围规则

有人可以帮我理解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 ++
  }
}
上一篇:java-Eclipse项目错误


下一篇:将RegEx从JavaScript转换为Java