首页 / JAVA / 标签是否是Java语句?
标签是否是Java语句?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了标签是否是Java语句?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2016字,纯文字阅读大概需要3分钟。
内容图文
标签是否是Java语句,标签是否是在Java语言规范中定义为语句的语句?
我的问题与Jan Lahoda在我发给Oracle的错误报告中的以下回复有关.我无法在那里讨论,因为我无法在OpenJDK Jira中获得帐户.
https://bugs.openjdk.java.net/browse/JDK-8211052
In case of e.g.:
A: B: while (true) continue A;
the statement on which the “continue” is applied is not “while (true) continue A;
“, but “B: while (true) continue A;
“, and the spec requires the target for continue is a while/do/for statement, which is not fulfilled here. Hence the compile-time error.
我认为Java中的标签不是一个语句,在Jan的例子中,A和B标签都与同一个while循环语句相关,因此不应该触发编译时错误.
加成:
在Java中/ while / do / for语句中是不是标记为/ do / for语句?
解决方法:
在JLS之后,声明可以
StatementWithoutTrailingSubstatement
LabeledStatement
IfThenStatement
IfThenElseStatement
WhileStatement
ForStatement
与LabeledStatement一样
Identifier : Statement
并说明
The Identifier is declared to be the label of the immediately contained Statement
所以在循环的情况下
public void method() {
loop1: loop2: while (true) {
if (true) {
break loop1;
} else {
continue loop1;
}
}
}
Label的语句loop1是整个loop2 ……的东西.
如果我们看一下break的定义,就说明了
the break target need not be a switch, while, do, or for statement.
而对于继续它说
The continue target must be a while, do, or for statement, or a compile-time error occurs.
这些定义与编译器一致,为continue loop1语句提供编译器错误,并且让break loop1有效,因为loop2:…不是“while,do或for语句”.
关于你的实际问题:标签是否是Java声明?
以下代码完全合法,编译良好
public void method() {
loop:;
}
这遵循Statement – >的扩展. LabeledStatement – >标识符:声明 – > loop:Statement – > loop:StatementWithoutTrailingSubstatement – > loop:EmptyStatement – >
loop : ;
不,标签本身没有声明,标识符(后来称为“标签”)加上colom加上EmptyStatement(;)然而.
在/ a / do / for语句中没有标记/ do / for语句吗?
没有!
LabeledStatement就是这样的:LabeledStatement. A标记为声明 – >标签 – >标识符:声明 – >标识符:WhileStatement与Statement基本不同 – > WhileStatement!
内容总结
以上是互联网集市为您收集整理的标签是否是Java语句?全部内容,希望文章能够帮你解决标签是否是Java语句?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。