有人可以解释此功能的操作顺序,我无法理解其产生的顺序:

    // 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?

最佳答案

第一次迭代:i0i >= 3false,所以没有break"Yuhu"已打印。 i >= 1false,所以没有continue"Tata"已打印。

第二次迭代:i1i >= 3false,所以没有break"Yuhu"已打印。 i >= 1true,因此continue仅结束此迭代。 "Tata"未打印。

第三次迭代:i2i >= 3false,所以没有break"Yuhu"已打印。 i >= 1true,因此continue仅结束此迭代。 "Tata"未打印。

第四次迭代:i3i >= 3true,因此break脱离for循环,并且for循环之后的输出语句显示3

09-06 22:11