Java 标记为“中断”和“继续”的功能是否相同?
我确信“正常中断”和“继续”的功能是不同的。但当使用标签时,这些功能似乎是相同的。在java语言中支持这些模棱两可的语句不是模棱两可的吗Java 标记为“中断”和“继续”的功能是否相同?,java,Java,我确信“正常中断”和“继续”的功能是不同的。但当使用标签时,这些功能似乎是相同的。在java语言中支持这些模棱两可的语句不是模棱两可的吗 label1: for(int i=0; i<=m; i++) { for(int j=0; j<=n; j++) { System.out.println("My Message one"); break label1; System.out.println("My Messag
label1:
for(int i=0; i<=m; i++)
{
for(int j=0; j<=n; j++)
{
System.out.println("My Message one");
break label1;
System.out.println("My Message two");
}
}
label2:
for(int i=0; i<=m; i++)
{
for(int j=0; j<=n; j++)
{
System.out.println("My Message one");
continue label2;
System.out.println("My Message two");
}
}
label1:
对于(inti=0;iNo),它们是不同的
标记的break立即退出命名循环。标记的continue结束当前迭代,但除非其保护条件失败,否则不会退出循环。这与常规break和continue语句完全类似
break label1;
这将立即退出外部循环
continue label2;
这将退出内部循环并进入外部循环的下一个迭代。否。它们在功能上绝对不同
continue label2;
StringBuilder sb1 = new StringBuilder();
test1: for (int i = 0; i < 100; i++) {
sb1.append("test: " + i);
for (int j = i; j < 100; j++) {
if (j == 10) {
break test1;
}
}
}
StringBuilder sb2 = new StringBuilder();
test2: for (int i = 0; i < 100; i++) {
sb2.append("test: " + i);
for (int j = i; j < 100; j++) {
if (j == 10) {
continue test2;
}
}
}
System.out.println(sb1.toString().equals(sb2.toString()));
至少不要发布除了您要问的问题之外的错误代码。