51Testing软件测试论坛

标题: 求教以下代码是怎么运行的 [打印本页]

作者: hxw32315    时间: 2015-9-6 14:39
标题: 求教以下代码是怎么运行的
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();
        }
       
}
作者: 踏雪飞狐    时间: 2015-9-7 09:40
第一次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,以此类推……
作者: jingzizx    时间: 2015-9-7 10:20
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





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2