为什么在java中出现未定义标签错误?

为什么在java中出现未定义标签错误?,java,label,continue,Java,Label,Continue,为什么在下面的代码中出现未定义的标签错误?? 我忽略了代码,因为它没有用 loopLabel: for(i=0;;i++) { { some code; } { come code; } } if(condition) { if(condition) { some code } else { some code; continue loopLabel;

为什么在下面的代码中出现未定义的标签错误?? 我忽略了代码,因为它没有用

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

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

continue
用于跳到循环的新迭代的开始;如果有嵌套循环并且要指定跳转到哪个循环,则使用标签。您试图将其作为
goto
跳转到完全不相关的代码部分,这是不允许的

合法用法类似于:

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

()

continue
用于跳到循环的新迭代的开始;如果有嵌套循环并且要指定跳转到哪个循环,则使用标签。您试图将其作为
goto
跳转到完全不相关的代码部分,这是不允许的

合法用法类似于:

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

()

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


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

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


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

可以将“继续”放在“如果”内,如果“继续”在“循环”的上部,但不能放在“独立如果”内。因为它用于中断循环,这意味着忽略循环结束时剩下的所有内容。如果在上for循环中,则可以将continue放在内部,但不能将其放在standalone if中。因为它用来打破一个循环,意思是忽略所有其他的东西,循环中剩下的东西在这里结束。然后。。。有没有其他方法可以让我获得goto的确切功能?实际上,你可以将你的代码包装成
do{…}while(false)以便能够跳回开始。但这会导致代码不清晰/不可维护,因此不赞成使用。
continue
不会跳回开头。在这种情况下,它将测试条件(
false
)并结束循环。您必须执行
而(true){}
并在最后中断。但是,是的,这将是可怕的,我可能应该重组计划。。!谢谢大家!然后。。。有没有其他方法可以让我获得goto的确切功能?实际上,你可以将你的代码包装成
do{…}while(false)以便能够跳回开始。但这会导致代码不清晰/不可维护,因此不赞成使用。
continue
不会跳回开头。在这种情况下,它将测试条件(
false
)并结束循环。您必须执行
而(true){}
并在最后中断。但是,是的,这将是可怕的,我可能应该重组计划。。!谢谢大家!不知道,但我取消了不知道,但我取消了