你好,我是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);
我不明白为什么当我运行代码时我得到:
00
0 1
1 0
11
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++) 退出。