for (int i=0;i<3;i++ )
{
int y=0;
for ( System.out.println((y<i));y<i ;y++ )
{
System.out.print("[ok],");
}
System.out.print(i);
}
我猜测楼主的问题可能在于没有真正明白for循环的执行过程
for(表达式1;表达式2;表达式3)
{
需要循环的内容
}
首先判断表达式1-----表达式2(必须是一个boolean值)成立的话-----需要循环的内容----表达式3------表达式2,成立的话----需要循环的内容----表达式3……依次类推
分析:
第一次循环
你的第一个循环 for (int i=0;i<3;i++ )当i=0时,i<3,然后进行看循环内容,y=0,然后进入循环 for ( System.out.println((y<i));y<i ;y++ ),其中它的表达式1是一个输出语句y<i的值,i=0,y=0,y<i不成立,所以输出false,然后判断表达式2,y<i,不成立退出循环,然后输出i即0,
进入 for (int i=0;i<3;i++ )循环,
第二次循环
执行i++操作,此时i=1,符合表达式2进入循环,此时y=0;然后进入for ( System.out.println((y<i));y<i ;y++ ),),其中它的表达式1是一个输出语句y<i的值,i=1,y=0,y<i成立,输出true;判断表达式2,y<i成立,进入循环 System.out.print("[ok],");打印ok,然后执行y++操作,得到y=1;判断for ( System.out.println((y<i));y<i ;y++ ),)中y<i操作,不成立,退出本次循环,然后输出i,
第三次循环
……
依次类推 |