int x=0;
while (x<3)
{
int z=0; //while每循环一次,就重新定义了变量z,前一次循环中的自增和这个新初始化的变量z没关系
for (int y=0;y<z ;y++ )
{
System.out.println("AAA"); //每次z的值都是0,不满足y<z,所以每次都不走for循环,这里的语句执行不到
}
x++; //从0依次自增到1,2。while循环三次
z++; //每次都从0自增,自增后值为1
System.out.println("z="+z); //输出z=1,while 循环三次,这里输出三次
}
最后的结果是:
z=1
z=1
z=1
int x=0;
while (x<3)
{
int z=0;
z++;
for (int y=0;y<z ;y++ )
{
System.out.println("b.-++");
}
x++;
System.out.println("z="+z);
初始x值是0,
x<3为true,定义变量z,自增后值是1,进入for循环;y初始是0,小于z=1,执行里面的程序,输出:b.-++ 。
然后y自增变成1,不在满足y<z,for循环结束,x自增为1,然后输出z=1;
这是while的一次循环,接着还有两次循环,最后的结果是:
b.-++
z=1
b.-++
z=1
b.-++
z=1
|