求教以下代码是怎么运行的
class continueLabel{public static void main(String args[]){
outer: for (int i=0;i<10;i++) {
for(int j=0;j<10;j++){
if(j>i){
System.out.println();
continue outer;
}
System.out.print("" + "i*j");
}
}
System.out.println();
}
} 第一次for循环i=0,时,进入里面的for j=0.因为j=i=0.所以,输出 i*j,然后j++,j=1(i还是等于0),因为j>i,所以就跳出里面的循环了;再第二次循环执行i=1,j=0,输出1*0=0;继续里面的for循环j=1(外面的循环不用管,i还是等于1的),输出1*1=1,然后j=2了,j>i,所以跳出for循环,继续外面的for循环,i=2,以此类推…… continue outer使用标签,表示运行此语句时则跳出2层循环;
而跳出2层循环得条件是j>i,所以当j<=i时,才会有打印结果:
0*0
1*0 1*1
2*0 2*0 2*1 2*2
3*0 3*0 3*1 3*2 3*3
以此类推,一直到i=9
页:
[1]