首页 > 解决方案 > 简述java continue & break以下代码

问题描述

下面简单解释一下代码的作用。关于continuebreak运营。看不懂label1label2.....请描述代码功能(标签基本用在嵌套循环中,但注意这里是用来理解标签过程的)

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);
            }
        }
    }
}

标签: javalabelkeywordbreakcontinue

解决方案


以下行首先检查是否0 < 5,然后增加ito的值1

while (i++ < 5)

因此,以下语句将1 0打印为iis now1jis的值0

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

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

switch (i + j++)

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

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

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

switch (i + j++)

作为上述处理的结果,case (2)变为true并因此控制label1从它落入的位置转到以下行,该行首先检查是否1 < 5,然后增加ito的值2

while (i++ < 5)

然后它转到以下语句,将2 2打印为iis now2jis的值2

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

等等...

我希望,这对你来说很清楚。除此之外,我还建议您遵循Java 命名约定,例如class example应该按照class Example命名约定。

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


推荐阅读