了解代码中断和标签 Java



你好,我是Java的新手,我正在自学,所以我(也许)有一个stu...问题。我需要您帮助理解此代码

public static void main(String[] args) {
    int x, y;
for(x = 0; x < 5; x++) 
stop2:  {   
    for(y = 0; y < 5; y++) {
        if(y == 2) break stop2;
        System.out.println("Varaiables x and y: " + x + " " + y);

我不明白为什么当我运行代码时我得到:

0

0

0 1

1 0

1

1

2 0

2 1

3 0

3 1

4 0

4 1

为什么在第二行中它以 x = 0 开头,而仅在第三行中它是 x = 1?提前感谢您的时间。:D

代码快照包含 2 个嵌套的 for 循环:外部和内部。对于外部 for 循环的每个值,整个内部 for 循环应按照嵌套执行。

内部 for 循环标记为"stop2"。

它以 x=0、y=0 开头,然后打印出来。此后,y 根据内部 for 循环递增;它打印 x=0, y=1。

当 y 进一步递增(即 y=2)时,break 语句将控件移出内部 for 循环(跳过打印),控件来到外部 for 循环,其中 x 递增到 1。

与 x=0 相同的序列现在重复,并且同样不断被打印。

因为在这里:

if(y == 2) break stop2;

您的代码在第二个循环 (y == 2) 和第一个循环 (x++) 退出。

最新更新