有人可以解释此功能的操作顺序,我无法理解其产生的顺序:
// output
// Yuhu
// Tata
// Yuhu
// Yuhu
// 3
public class Main {
public static void main(String[] args) {
int i;
for (i = 0; i < 5; i++) {
if (i >= 3) {
break;
}
System.out.println("Yuhu");
if (i >= 1) {
continue;
}
System.out.println("Tata");
}
System.out.println(i);
}
}
为什么不是Yuhu,Tata,Yuhu,Tata,3?
最佳答案
第一次迭代:i
是0
:i >= 3
是false
,所以没有break
。 "Yuhu"
已打印。 i >= 1
是false
,所以没有continue
。 "Tata"
已打印。
第二次迭代:i
是1
:i >= 3
是false
,所以没有break
。 "Yuhu"
已打印。 i >= 1
是true
,因此continue
仅结束此迭代。 "Tata"
未打印。
第三次迭代:i
是2
:i >= 3
是false
,所以没有break
。 "Yuhu"
已打印。 i >= 1
是true
,因此continue
仅结束此迭代。 "Tata"
未打印。
第四次迭代:i
是3
:i >= 3
是true
,因此break
脱离for
循环,并且for
循环之后的输出语句显示3
。