我一直盯着我的屏幕看了一会儿,在这种情况下我确实需要对标记循环进行解释:
package com.misterkourouma.oca8.starter.test;
public class LabeledLoop{
public static void main(String[] args) {
int x = 5, j = 0;
OUTER: for (int i = 0; i < 3;) // -> This line has no curly braces but still compiles
INNER: do {
i++;
x++;
if (x > 10)
break INNER;
x += 4;
j++;
} while (j <= 2);
System.out.println(x);
}
}
但是这个不能编译:
package com.misterkourouma.oca8.starter.test;
public class LabeledLoop2{
public static void main(String[] args) {
int x = 5, j = 0;
OUTER: for (int i = 0; i < 3;)
System.out.println("Labeled Loop");
INNER: do {
i++;
x++;
if (x > 10)
break INNER;
x += 4;
j++;
} while (j <= 2);
System.out.println(x);
}
}
所有的INNER:
块都被认为(我猜)是一个单一的语句,但它不以分号结尾我想知道为什么?
我正在为 OCA 8 做准备,这也是我需要了解这些怪事的原因之一。
编辑:
我的问题是关于 LabeledLoop 示例为什么它编译
提前感谢您的帮助。