解释一下 java 继续并简要分解以下代码

Explain about java continue & break the following code briefly

简单解释一下下面代码的作用。 关于 continue & break 操作。看不懂label1,label2.....请描述代码功能 (标签基本用于嵌套循环 但是注意这里用到它们是为了理解标注过程)

class example {
    public static void main(String args[]) {
        int i = 0;
        int j = 0;
        label1: while (i++ < 5) {
            label2: for (;;) {
                label3: do {
                    System.out.print(i + " " + j + " ");
                    switch (i + j++) {
                    case 0:
                        continue label3;
                    case 1:
                        continue label2;
                    case 2:
                        continue label1;
                    case 3:
                        break;
                    case 4:
                        break label3;
                    case 5:
                        break label2;
                    case 6:
                        break label1;
                    default:
                        break label1;
                    }
                } while (++j < 5);
            }
        }
    }
}

Break in Java表示会退出循环。你的情况 while(++j<5)

Continue 跳过循环一次,这意味着循环将从顶部开始,continue 下面的任何内容都不会执行。

如果这对你有帮助,请给我投票。我是新来的,想拥有一些基本的声誉。谢谢!

以下行首先检查 0 < 5,然后将 i 的值增加到 1

while (i++ < 5)

因此下面的语句打印 1 0 因为 i 的值现在是 1j 的值是 0:

System.out.print(i + " " + j + " ");

作为上述两个处理的结果,以下行被评估为switch (1 + 0)然后j的值增加到1

switch (i + j++)

作为上述处理的结果,case (1) 变为 true,因此控制转到 label2 并再次返回到以下打印 [=66= 的语句]1 1:

System.out.print(i + " " + j + " ");

现在,以下行被评估为 switch (1 + 1) 然后 j 的值增加到 2:

switch (i + j++)

作为上述处理的结果,case (2) 变成了 true,因此控制转到 label1 从它落到下一行,它首先检查是否 1 < 5 然后将 i 的值增加到 2:

while (i++ < 5)

然后它转到下面的语句打印 2 2 因为 i 的值现在是 2j 的值是 2:

System.out.print(i + " " + j + " ");

等等...

希望您清楚。除此之外,我还建议您关注 Java naming convention 例如根据命名约定,class example 应该是 class Example

如有任何问题,请随时发表评论doubt/issue。