java中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
下面来看下代码A片段与代码B片段之间的结果,
//代码A片段 for(int i = 0; i < 5; i++){ System.out.print(i+" "); }
//代码B片段 for(int i = 0; i < 5; ++i){ System.out.print(i+" "); }
两段代码执行结果一致,都为:0 1 2 3 4
原因分析:根据代码执行顺序,i++与++i都是每次循环体结束后执行,虽然两个表达式的结果不一样,但是每次循环体结束都是将i的值与5的比较。而++i与i++执行后i的结果是一样的。所以,在这种结构的for循环之中,两种写法并没有区别。