1

为什么我在以下代码中收到未定义的标签错误?我忽略了代码,因为它没有用...

 loopLabel: 
 for(i=0;;i++)
 {
   { some code;
   }
   { come code;
   }
 }

 if(condition)
 {
     if(condition)
     { some code     }
     else 
     { 
           some code;
           continue loopLabel;
     }
 }
4

2 回答 2

4

continue用于跳到循环的新迭代的开始;如果你有嵌套循环并且你想指定跳转到哪一个,你可以使用一个标签。您正在尝试使用它goto来跳转到完全不相关的代码部分,这是不允许的

合法使用是这样的:

foo:
while(cond1) {
    code;
    while(cond2) {
        if(cond3) {
            continue foo;
        }
    }
}

关于分支语句的 Java 指南

于 2010-04-23T14:10:37.243 回答
2

因为你在循环之外。标签仅在循环内可见。

标签仅用于中断和继续循环。

于 2010-04-23T14:11:16.733 回答