下面java程序运行结果

来源:百度知道 编辑:UC知道 时间:2024/05/20 15:05:57
public class MyFor {
public static void main(String[] args) {
int i;
int j;
outer:for(i=1;i<3;i++)
inner:for(j=1;j<3;j++){
if(j==2)continue outer;
System.out.println("Value for i="+i+" Value for j="+j);
}
}
}
结果是:
Value for i=1 Value for j=1
Value for i=2 Value for j=1
谁能告诉我为什么会是这样?

执行outer:i=1;i<3为true
执行inner:j=1;j<3为true
j==2为false;不运行continue outer;
打印 Value for i=1 Value for j=1

j=j+1;j==2为true,执行continue outer;跳出i为1的outer循环
outer:i=i+1;i<3为true
inner:j=1;j<3为true
j==2为false;不运行continue outer;
打印 Value for i=2 Value for j=1

j=j+1;j==2为true,执行continue outer;跳出i为2的outer循环
i=i+1;i<3为false,循环结束

你这个对比下就知道原因了:
for (i = 1; i < 3; i++)
for (j = 1; j < 3; j++) {
System.out.println("Value for i=" + i + " Value for j=" + j);
}

傻子才这样写程序