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("====="); } } }
运行结果为: