在學習數據結構的過程中,無處不在的循環,本人在知道循環次數的情況下,偏愛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等許多變化,不在此詳述。