对于for循环的嵌套循环的理解

循环嵌套是外循环里套个内循环,外循环执行一次,内循环全部执行完,直到外循环执行完毕,整个循环结束。

循环次数:外循环的次数*内循环的次数;

例:

for(int i=0;i<10;i++){
    for(int j=0;j<3;j++) {
    System.out.print("i*j="+i*j);
    }
}

当开始循环的时候,i=0,然后继续运行,j=0,输出i*j=0
此时循环从j=1, i仍旧为0,j的值为2,输出结果为i*j=0,此时j++,j的值为2
循环从j=2,i仍旧为0 ,输出结果为i*j=0
当j=3,不满足j<3跳出内部for循环,执行外部for循环第二行代码,此时i++,i的值变为1
循环i=1, j=0时,结果为i*j=0
i=1,j=1 结果为i*j=1;
。。。。。。
。。。。。。
当i循环到9,j=2是,输出循环结果为i*j=18
当i=10,不满足i<10,跳出外部循环,执行第6行

例:

for (out = nElems - 1; out > 1; out--) {
    for (in = 0 ; in < out; in++) {
    if (a[in] > a[in+1]) 
        swap(in,in+1);
    }
}

这个冒泡排序功能,在调用玩10次的insert之后,nElems 被赋值为10,out=9,执行内循环,这里最关键的就是in的范围是随着外面的out的值的变化而变化。

你可能感兴趣的:(Java,for嵌套循环)