抱歉,该代码段已删除。 我正在拆分问题
14.7带标签的语句](https://docs.oracle.com/javase/specs/jls/se14/html/jls-14.html#jls-14.7)
(为清楚起见进行了编辑)
语句 可能具有标签前缀( Identifier : Statement )。该 标识符 被声明为直接包含的标签 声明 。
与C和C
++不同,Java编程语言没有goto
语句。标识符语句标签与break
(§14.15)或continue
(§14.16)语句一起出现在带标签的语句中的任何地方。
因此,JLS很清楚,标签与break
或一起使用continue
,并且Java编程语言中没有其他语法元素使用它。
严格来说,break
和continue
,是否标记都 没有 必要。它们总是可以用代码写出来。但是,惯用语会导致代码更具可读性。
这是一个说明性示例:给定int[]
,我们想要:
"One (1)"
在1
"Two (2)"
在2
"Zero "
在0
int[] arr = { 1, 2, 0, 1, -1, 0, 2 };
loop:
for (int num : arr) {
switch (num) {
case 1:
System.out.print(“One “);
break;
case 2:
System.out.print(“Two “);
break;
case 0:
System.out.print(“Zero “);
continue loop;
default:
break loop;
}
System.out.print(“(” + num + “) “);
}
// prints “One (1) Two (2) Zero One (1) “
在这里,我们看到:
switch
break
在switch
用于避免“落空”情况之间continue loop;
的用于跳过后处理case 0:
(此处无需标签)break loop;
用于终止循环default:
(在这里标签 是 必需的;否则为switch break
)因此,标记为break
/的代码continue
也可以在嵌套循环之外使用;当a
switch
嵌套在循环中时可以使用它。更一般而言,在可能有多个break
/ continue
目标并且您希望选择一个不立即包含break
/
continue
语句的目标时使用它。
这是另一个例子:
morningRoutine: {
phase1: eatBreakfast();
if (grumpy) break morningRoutine;
phase2: kissWife();
phase3: hugChildren();
}
http://stackoverflow.com is the best website ever!
这是带标签的另一种情况,break
它不在迭代语句中使用,而是在简单的block语句中使用。有人可能会说标签带来更好的可读性。这一点是主观的。
不,最后一行不给出编译时错误。它实际上是受 Java Puzzlers Puzzle
22:URL重复的启发。不幸的是,这个谜题并没有更深入地“正确”使用带标签的语句。
我是Spring的新手,并试图理解在我的Spring配置文件中声明的bean标记,如下所示: 我正在努力理解这5行代码。第一行表示它是一个XML文件。请有人帮我理解其他4行,以及向Spring应用程序提供这些信息的原因。
问题内容: 有人可以解释一下这是什么意思吗? 这似乎是一个循环定义,至少可以说让我感到困惑。 问题答案: Java Generics FAQ中 有很好的解释。 从末尾开始: 概括起来,声明可以解密为:是仅可为其子类型实例化的泛型类型,并且这些子类型将继承一些有用的方法,其中一些方法具有子类型特定的参数(否则取决于子类型)。 (尽管我确实很同情-递归的泛型声明很痛苦。但是,我的协议缓冲端口到C#的情
我正面临XML声明的问题。我想从XML文件中省略XML声明。为此,我在XSLT文件中编写了下面的代码。
本文向大家介绍请解释下为什么我们可以在声明函数前使用它?相关面试题,主要包含被问及请解释下为什么我们可以在声明函数前使用它?时的应答技巧和注意事项,需要的朋友参考一下 js 两个特性, 提升变量声明和函数声明,但是注意一点的是 这个是不叫函数声明的, 变量funcName还是会提升,只不过作为一个undefined的变量, 只有 这个叫函数声明,会被提升
在PHPCMS V9中我们正式开始需要PC标签做为数据的获取的方式。 PC标签是以下面的方式进行声明 {pc:content action="lists" cache="3600" num="20" page="$page"}{/pc} PC标签必须以{pc}开头,并以{/pc}结尾的代码片段。 当然不以{/pc}结尾并不会引起程序致命性的错误,导致程序无法继续运行。 以下为两种已知可能会出现
鉴于此注释: my library的用户可以扩展其API,创建带有注释的自定义注释,如下所示: AbstractProcessor提供了一个名为getSupportedAnnotationTypes的方法,该方法返回处理器支持的注释类型的名称。但是如果我指定的名称,如下所示: 当使用注释对类进行注释时,不会通知处理器#进程方法。 因此,当使用