为啥我在 java 中得到 Undefinedlabel 错误?
Posted
技术标签:
【中文标题】为啥我在 java 中得到 Undefinedlabel 错误?【英文标题】:why i am getting Undefinedlabel error in java?为什么我在 java 中得到 Undefinedlabel 错误? 【发布时间】:2010-04-23 14:08:40 【问题描述】:为什么我在下面的代码中得到未定义的标签错误? 我忽略了代码,因为它没有用...
loopLabel:
for(i=0;;i++)
some code;
come code;
if(condition)
if(condition)
some code
else
some code;
continue loopLabel;
【问题讨论】:
您可以将 continue 放在 if which 在上面的 for 循环中,但不能放在独立的 if 中。因为它用于打破循环,这意味着忽略循环中剩余的所有内容。 【参考方案1】:continue
用于跳到循环的新迭代的开始;如果你有嵌套循环并且你想指定跳转到哪一个,你可以使用一个标签。您正在尝试像 goto
一样使用它来跳转到完全不相关的代码部分,这是不允许的
法律用法是这样的:
foo:
while(cond1)
code;
while(cond2)
if(cond3)
continue foo;
(Java guide on branching statements)
【讨论】:
那么...有没有其他选择可以让我获得与 goto 一样的精确功能?? 实际上,您可以将代码包装在do ... while (false);
中,以便能够跳回到开头。但这会导致代码不清楚/不可维护,因此不受欢迎。
continue
在这种情况下不会跳回到开头,它会测试条件 (false
) 并结束循环。你必须做while(true)
并在最后爆发。但是,是的,这将是可怕的
我可能应该重组程序..!谢谢大家!【参考方案2】:
因为你在循环之外。标签仅在循环内可见。
标签仅用于中断和继续循环。
【讨论】:
不知道,但我取消了它以上是关于为啥我在 java 中得到 Undefinedlabel 错误?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在这段代码中得到“未知类型名称 NSManagedObjectContext”?