要知其然還要知其所以然printChar
雖然過渡與的追求細節不是好事,
但是現實社會逼迫我們不得不兼顧周全。
所以什麼都是最好不僅要知其然還要知其所以然!
public class printChar { public static void main(String[] args) { // TODO Auto-generated method stub int n = 0; for(foo('A'); foo('B')&&n<2; foo('C')){ n++; foo('D'); } } public static boolean foo( char ar ){ System.out.println( ar + "\b" ); return true; } //******************************************************************************* // 1.其實foo('A');就是初始化條件,隻會執行一次,所以第一個打印的肯定是A // 2.因為i=0;循環條件是i<2 (由此可知循環i等於2的時候就會停止循環,)所有0<2滿足條件, // 接著會輸出B,然後執行i++;i就變成1了,在輸出D // ,在最後輸出C, // 一次循環後的結果是:ABDC // 3.第二次循環的開始是foo('A');是初始條件所以不會執行,直接從foo('B')開始, // 輸出B,然後i為1,且小於2,此時循環體內再次執行i++;i的值為2了,再次輸出D,最後輸出C // 第二次循環輸出:BDC // 4.然後循環再次執行for(foo('A');foo('B')&&(i<2);foo('C')) // 直接輸出B,i的值在第二輪循環後的值變成了2,2<2不成立,終止循環,輸出B // // 最後答案為:ABDCBDCB //******************************************************************************* }
最後更新:2017-04-03 12:53:57