您好我是Java新手,我自学,所以我(也许)有一个问题。理解这段代码我需要你的帮助
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
答案 0 :(得分:0)
代码快照包含2个用于循环的嵌套:outer和inner。 对于外部 for 循环的每个值,循环的整个内部将按嵌套执行。
内部 for 循环标记为“stop2”。
从x = 0,y = 0开始,打印出来。 此后,y根据循环的内部递增;它打印x = 0,y = 1。
当y进一步递增,即y = 2时,break语句将控件移出内部 for 循环(跳过打印的位置),控件来到外部 for 循环,其中x递增为1。
现在重复与x = 0相同的序列,同样继续打印。
答案 1 :(得分:0)
因为在这里:
if(y == 2) break stop2;
你的代码退出第二个循环(y == 2)并进入第一个循环(x ++)。