for 循环的执行顺序问题
for 循环的执行顺序问题
1). for循环
for(int i=1, j=i+10; i<5; i++, j=i*2)
{
system.out.println("i="+i+" j="+j);
}
运行结果:
i=1 j=11
i=2 j=4
i=3 j=6
i=4 j=8
2).而改动一点后:
for(int i=1, j=i+10; i<5; i++)
{
j=i*2;
system.out.println("i="+i+" j="+j);
}
结果又为:
i=1 j=2
i=2 j=4
i=3 j=6
i=4 j=8
经网上求助后发现,原因在于:for循环在执行条件测试后,先执行程序部分,再执行步进。
再次举例如下:
public class Myswitch
{
public static void main(String[] args)
{
Myswitch ms = new Myswitch();
ms.amethod();
}
public void amethod()
{
for (int a = 0, b = 0; a<2; b = ++a, System.out.println("b = "+ b) )
{
System.out.println("a = " + a );
System.out.println("=====");
}
}
}
运行结果为: