突破和标签“标签MyLabel缺少”突破和标签“标签MyLabel缺少”(break and lab

2019-05-12 02:42发布

我有这样的代码:

if(condition1)
{
    break MyLabel;
}
while(true)
{
    //some code here
    MyLabel: if(condition2) break;
    //more code here
}

我得到这个错误:

标签MyLabel丢失。

怎么了?

Answer 1:

您只能打破一个标签,是在文本上封闭的声明。 在你的榜样,标签不上包围一份声明中break语句。

(对于什么是价值,支持更高级别的语言goto不允许你跳进从外循环的中间。我想的C ...及以上的语言,如FORTRAN)。

Java允许你打出来,但打破是非法的......,将让你抓:-)

(对不起,我无法抗拒它对于那些谁不明白这个笑话,一个“打破”,是当有人进入你家偷东西-见“打破,进入” ...)



Answer 2:

不能一般的方式使用标签作为跳转。
如果你想后藤的嵌套代码更高水平的标签。

例如

l1: while
 l2: while
  l3: while
   break l1
   l4: while


文章来源: break and label, “The label MyLabel is missing”
标签: java label break