如何在java中使用label语句?

如何在java中使用label语句?,java,break,Java,Break,根据我正在阅读的java书籍,您可以将标签与以下类型的语句一起使用: 使用{}定义的代码块 所有循环语句(for、增强for、while、do-while) 条件构造(if和switch) 表情 任务 返回语句 试块 抛出语句 我知道如何将它们用于带有花括号的结构,但对于其他类型的语句,如表达式、赋值、返回语句和抛出语句,有哪些有用的示例可以使用它们 如何在Java中使用label语句 这不是一个声明。它是可执行语句的可选属性 根据我现在正在阅读的java书籍,您可以将标签与以下类型的语句一

根据我正在阅读的java书籍,您可以将标签与以下类型的语句一起使用:

  • 使用{}定义的代码块
  • 所有循环语句(for、增强for、while、do-while)
  • 条件构造(if和switch)
  • 表情
  • 任务
  • 返回语句
  • 试块
  • 抛出语句
我知道如何将它们用于带有花括号的结构,但对于其他类型的语句,如表达式、赋值、返回语句和抛出语句,有哪些有用的示例可以使用它们

如何在Java中使用label语句

这不是一个声明。它是可执行语句的可选属性

根据我现在正在阅读的java书籍,您可以将标签与以下类型的语句一起使用

你的书错了。根据,任何语句都可以有标签。但是,它们只能由
break
语句结合
开关引用,而
语句(#14.15)的while、do、
引用,或由
continue
语句结合
while、do、
语句(#14.15)引用

对于其他类型的语句,如表达式、赋值、返回语句和抛出语句,有哪些有用的例子可以使用它们


没有。

没有标签使用的有用例子。显然你很清楚一些无用的例子


当标签不在代码块之前时,与根本没有标签相比,没有添加任何新内容的标签使用。语言选择允许,但使用此权限不会产生明显效果。

IMHO应避免使用“标签”-如果您发现自己处于您认为需要添加标签的情况,那么,你的设计是错误的,你应该回去重新思考,直到你不认为有必要这样做labels@MadProgrammer我正在准备oracle认证助理考试,它不关心最佳实践。任何声明都可以有标签吗?我的书说声明不能有标签,我认为它们也是声明。@哇,它们不是声明,但不可否认这不是显而易见的知识。@哇,不,它们是声明。JLS#14.7:“语句可能有标签前缀”。@EJP为什么它们允许任何类型的语句使用标签,而它们只能从开关和循环引用?@Wow不是James Gosling,我不能肯定地回答这个问题,但这样做肯定会使编写解析器变得更容易:事实上,试图在解析器中限制它几乎是不可能的:您必须引入语义规则。您的第一段是无条件的。你的第二段介绍了一个条件。这是什么?@EJP第二段放弃了有用性的概念,集中讨论标签是否会改变任何东西,比如添加一个潜在的机制,而不管这种机制的有用性如何。标签通常引入命名中断和继续的机制。但这只是在代码块前面。你不认为<代码>破解< /代码>和<代码>继续<代码>有用吗?反驳你第一段的三个反例。