gpt4 book ai didi

java - 循环后标记的break在Java中不起作用

转载 作者:行者123 更新时间:2023-12-02 11:07:26 29 4
gpt4 key购买 nike

for(int x = 0; x < 5; x++)
stop2: {
System.out.println("Count");
if (x == 2)
break stop2;
}

stop3: for(int x = 0; x < 5; x++) {
System.out.println("Second");
if (x == 2)
break stop3;
}

当我学习Java中的带标签的break时,我注意到将标签放在for语句之前和之后会产生不同的结果。在上面的代码中,带有 stop2 的 for 循环在打印“Count”3 次后并未停止,而另一个则停止。有人可以解释一下这两者之间的区别吗?我认为带标签的中断在标签之后立即破坏了主体......

最佳答案

第一个示例中的语法不正确(对于您所需的行为)。这个

for(int x = 0; x < 5; x++)
stop2: {
System.out.println("Count");
if (x == 2)
break stop2;
}

应该是

stop2: for (int x = 0; x < 5; x++) {
System.out.println("Count");
if (x == 2) {
break stop2;
}
}

只是

for (int x = 0; x < 5; x++) {
System.out.println("Count");
if (x == 2) {
break;
}
}

因为当没有标签应用于 break 时,未标记的 break 将应用于第一个(即最内层)循环。

关于java - 循环后标记的break在Java中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59906245/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com