for循环
for (i=0; i<2; i++)
for(j=0; j<2; j++)
for(k=0; k<2; k++)
{
System.out.print(i+" "+j+" "+k);
System.out.println();
}
是怎么运行的?有谁解释下.
------解决方案--------------------i=0-->j=0-->循环最里面的for循环--->j++
--->j=1---->循环最里面的for循环---j++
--->j=2----->结束中间的一个循环--->i++
-->i=1->j=0---->重复步骤
------解决方案--------------------
------解决方案--------------------从外面到里面,一层一层循环,
------解决方案--------------------for (i=0; i <2; i++)
for(j=0; j <2; j++)
for(k=0; k <2; k++)
{
System.out.print(i+" "+j+" "+k);
System.out.println();
}
当i = 0 ,j = 0时,进行最内循环,k从0到1
然后i还是=0,j=1,到了从里面数第二层循环,然后k从0到1最内循环
然后....
------解决方案--------------------内外一共3个循环,每个循环执行2次,所以2的3次方也就是8,将执行8次输出
输出结果:
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
具体步骤:
直观的看程序可能会看迷茫,将这段程序拆分,达到同等效果,则会很容易理解怎么运行的了
将源程序段多加几个括号,增加一些注释:
for (i=0; i <2; i++)
{ for(j=0; j <2; j++)
{
for(k=0; k <2; k++)
{
System.out.println("i=" + i +" j="+j+" k="+k);
}
}
}
拆分:
for (i=0; i <2; )
{ for(j=0; j <2; )
{
for(k=0; k <2; )
{
System.out.println("i=" + i +" j="+j+" k="+k);
k++
}
j++
}
i++
}
运行结果:
i=0 j=0 k=0
i=0 j=0 k=1
i=0 j=1 k=0
i=0 j=1 k=1
i=1 j=0 k=0
i=1 j=0 k=1
i=1 j=1 k=0
i=1 j=1 k=1
根据运行结果看程序,很容易理解
for (i=0; i <2; i++) {……}
步骤:
1、i=0,i被赋值为0
2、判断i是否小于2,i<2
3、i是小于2,则运行{……}
4、运行完后,执行i++
5、判断i是否小于2,i<2
6、i是小于2,则运行{……}
7、运行完后,执行i++
8、判断i是否小于2,i<2
9、i是等于2,不小于2,所以不执行{……}
10、程序继续向下执行
……
如果是循环内嵌套循环,按照上面的步骤,一个循环一个循环的走,就OK了
------解决方案--------------------7楼真是用心良苦!
------解决方案--------------------1.外循环开始
2.内循环开始
3.内循环结束
4.外循环结束
------解决方案--------------------从外到里依次循环
最里面那个一次性循环3次
总共就是2×2×2 = 8次
------解决方案--------------------Java code
for (i=0; i <2; i++)
for(j=0; j <2; j++)
for(k=0; k <2; k++, System.out.println("i = "+j+" j = "+" k ="+k))//自己调试一下就行了啊
{
System.out.print(i+" "+j+" "+k);
System.out.println();
}
------解决方案--------------------
从里面向外层循环 ,内层循环循环一次外层循环变量加一,以此类推