【发布时间】:2013-12-12 11:42:31
【问题描述】:
让我解释一下疑问。
我在 main 方法中有一个 int i = 9。现在我在同一个 main 方法中有 for 循环。看下面的例子
class Test {
public static void main(String... args) throws Exception{
int i =39;
for (int i = 0; i < 10; i++) { // error:i already defined
}
}
}
对于上面的例子,它显示了 i 已经定义的编译时错误。从这个错误中我认为我在 for 条件中声明的范围也在循环之外。
现在看下面的例子
class Test {
public static void main(String... args) throws Exception{
for (int i = 0; i < 10; i++) {
}
System.out.println(i); // error: cannot find symbol i
}
}
在上面的例子中,它在 for 循环之外显示错误,找不到符号 i。
如果在 for 循环条件中未找到 i 声明。那么为什么显示 i 已在第一个示例中定义
【问题讨论】: