要知其然還要知其所以然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