java - 在java中使用for循环时变量的范围 - eclipse/编译器错误?

标签 java eclipse for-loop scope

我编写了以下代码:

for(int layer = 0; layer <countLayers; layer++);
{
    List<Sprite> spritesInLayer = sceneGraph.getLayer(layer);
}

当我编译这个片段时,我收到一个错误,在 for-Loop 中的行中,eclipse 提示“layer”是一个未知符号 [... = sceneGraph.getLayer(layer);] 并想要我引入字段/变量/...“层”。

但是当使用这个代码片段时,它是有效的。

int layer = 0;
for(layer = 0; layer <countLayers; layer++);
{
    List<Sprite> spritesInLayer = sceneGraph.getLayer(layer);
}

有人知道我在第一个代码中缺少什么吗?或者这可能是 eclipse/java 编译器的某种错误?

我在 Win 7 64 位 Home Premium 和 Eclipse Helios 64 位(内部版本 20100617-1415)上使用 Java 6 JDK Update 20 64 位

最佳答案

改变

for(int layer = 0; layer <countLayers; layer++);

for(int layer = 0; layer <countLayers; layer++)

虚假的分号意味着 for 循环有一个空的循环体。以下 {....} 被解释为单独的语句。当然,layer 超出了该 block 的范围。

关于java - 在java中使用for循环时变量的范围 - eclipse/编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271139/

相关文章:

C# 在控制台的单行上显示循环迭代

java - 求数组中数字的平均值并找出大于平均值的数字

for-loop - 如何在 go 中复制 do?

java - 用java解析xml时调用startElement方法

java - 标准化远程 Maven 存储库 JAR 文件名?

java - Android:让应用程序通过网络(在其他手机上)向另一个应用程序发送请求

java - struts 的 Hello World

java - 恢复损坏的 java 文件

java - xtext 如何获取根 AST 元素

java - 手工为java项目制作划分的主测试结构