在学习数据结构的过程中,无处不在的循环,本人在知道循环次数的情况下,偏爱for循环,但经过试验发现其实While循环更符合真实的循环过程。
以下是实验的代码:
public class ForAndWhile {
public static void main(String[] args) {
int p = 0;
int i;
for (i=0; i < 5; i++) {
p++;
}
System.out.println("i="+i+" p="+p);
//
int a = 0;
int b = 0;
while(a<5){
a++;
b++;
}
System.out.println("a="+a+" b="+b);
}
}
结果是
i=5 p=5
a=5 b=5
循环过程:
未进入循环前:i=0,p=0
进入循环:
第零次判断,i=1,p=1
第一次判断, i=2,p=2
第二次判断:i=3,p=3
第三次判断:i=4,p=4
第四次判断:i=5,p=5
由上我们得出以下结论:
1、控制数i与被操作的数p保持一致,即循环的次数相同。
2、由i=0;i<X;i++,最终i=X,共循环X次,i在第X次循环后=X,使得停止循环(看起来多么理所当然)
3、停止循环后,i不再变化,循环体内的值也不再变化。
但你是否知道,在for循环中,是先运行p++,还是先运行i++?
我们做一下实验:
int p = 0;
int i;
for (i=0; i < 5; i++) {
p++;
System.out.println("i="+i+" p="+p);
}
运行结果:
虽然简单,但不搞懂,处处受罪,同样的还有当p=-1.i=1等许多变化,不在此详述。