for循环很简单,用起来也很方便,但对for循环的执行顺序并不了解。
举个例子:
public class TestOrder { static boolean order(char c) { System.out.print(c); return true; } public static void main(String[] args) { int i = 0; for (order('A'); order('B') && (i < 2); order('C')) { i++; order('D'); } } }
以上这段代码,它的执行结果是什么呢???
实际的执行结果是:ABDCBDCB;
由此可见,for循环并不是在执行完条件之后,再一遍一遍地去执行循环代码块。
for(int i = 0; i < 3 ; i++){
//do some thing
}
其实可以转换成
int i = 0 ; while(i < 3 ){ //do some thing; i++ }
PS:注意,虽然可以这样理解没错,但还是要注意作用域的范围。
无论执行顺序是什么,i都只能在for循环内有用。