我有这样的代码:休息和标签 “标签MyLabel缺少”
if(condition1)
{
break MyLabel;
}
while(true)
{
//some code here
MyLabel: if(condition2) break;
//more code here
}
,我得到这个错误:
The label MyLabel is missing.
有什么不对?
我有这样的代码:休息和标签 “标签MyLabel缺少”
if(condition1)
{
break MyLabel;
}
while(true)
{
//some code here
MyLabel: if(condition2) break;
//more code here
}
,我得到这个错误:
The label MyLabel is missing.
有什么不对?
您只能打破文字包含语句的标签。在您的示例中,标签不在包含break
声明的声明中。 (对于什么值得支持goto
的更高级的语言不允许你从外部跳到循环的中间,我在考虑C ...以及像FORTRAN这样的老语言。)
Java允许你打出来,但打破是非法的......,将让你:-)
被捕(对不起,我无法抗拒它。对于那些谁不得到的笑话,一个“突破”是当有人进入你的房子偷东西 - 见"break and enter" ...)
您不能使用标签作为转到一般的方式。
如果您想要更高级别的嵌套代码,请使用标签。
例如
l1: while
l2: while
l3: while
break l1
l4: while
但请注意,标签是Java中的标识符,而不是数字。 – 2014-03-04 06:18:16
他可以使用标签作为转到,但他不能;) – tviana 2015-01-16 19:19:17
我喜欢看到这个词_arrested_一个关于标签的话题。恕我直言,良好的标签使用案例非常罕见。 – 2012-01-10 11:19:16
感谢您的帮助;) – Lrrr 2012-01-10 13:21:18
也谢谢你的笑话:D – Lrrr 2012-01-10 13:21:46