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("=====");
}
}
}

运行结果为:

 

 

 

 

posted on 2011-10-06 18:26  缺心眼的公牛  阅读(2146)  评论(1编辑  收藏  举报

导航