for循環的執行循序
阿新 • • 發佈:2017-08-02
... har str expr 區別 循環 sys 初始化 ati
先上一段代碼,大家說出此方法的執行結果:
public class Print{ static boolean out(char c){ System.out.println(c); return true; } public static void main(String[] argv){ int i = 0; for(out(‘A‘);out(‘B‘) && (i<2);out(‘C‘)){ i++; out(‘D‘); } } }
答案不說了,直接說解題思路吧
for循環的執行順序用如下表達式:
for(expression1;expression2;expression3){
expression4;
}
執行的順序應該是:
1)第一次循環,即初始化循環。
首先執行表達式expression1(一般為初始化語句);再執行expression2(一般為條件判斷語句),判斷expression1是否符合expression2的條件;如果符合,則執行expression4,否則,停止執行;最後執行expression3。
2)第N(N>=2)次循環
首先執行expression2,判斷在expression3是否符合在expression2要求;如果符合,則繼續執行在expression4,否則,停止執行。最後執行在expression3。如此往復,直至expression3不滿足在expression2條件是為止。
總結:
總的來說,執行的順序是一致的。先條件判斷(expression2),再函數體執行(expression4),最後for執行(expression3)。往復......區別在於,條件判斷的對象。第一次判斷時,對象為初始化語句(expression1),後續的判斷對象為執行後的結果(expression3)。
for循環的執行循序