【问题标题】:Explain about java continue & break the following code briefly [duplicate]简要解释一下java continue & break下面的代码[重复]
【发布时间】:2020-03-22 04:09:23
【问题描述】:

简要说明下面代码的作用。 关于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);
            }
        }
    }
}

【问题讨论】:

  • 你正在使用标签,在 while 条件中有和递增,在 for 循环参数中有注释,并且有四个嵌套循环,所有这些都是非常糟糕的编程习惯不要那样做,这个程序根本不可读,乍一看它似乎没有做任何事情,如果你只是想了解,标签,休息,继续谷歌它

标签: java label keyword break continue


【解决方案1】:

以下行首先检查是否0 &lt; 5,然后将i 的值增加到1:

while (i++ < 5)

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

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

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

switch (i + j++)

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

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

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

switch (i + j++)

作为上述处理的结果,case (2) 变为true,因此控制转到label1,从那里它落到以下行,首先检查1 &lt; 5,然后增加值i 到 2:

while (i++ < 5)

然后它进入以下语句,打印 2 2 因为i 的值现在是2 而j 的值是2:

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

等等……

我希望你很清楚。除此之外,我还建议您关注Java naming convention e.g.根据命名约定,class example 应为 class Example。

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

【讨论】:

  • 好的先生,非常感谢您
【解决方案2】:

Java 中的 Break 意味着它将退出循环。在你的情况下while(++j&lt;5)

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-29
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多