for(1;2;3){4;} 这个for循环的顺序应该是1243243243.。。直到2生效,对吧?
public class HelloWorld { static int i = 0; public static void main(String[] args) { for (a(); b(); c()) { d(); } } static void a(){ i = 1; System.out.println("a"); } static boolean b(){ System.out.println("b"); return i < 3; } static void c(){ i ++; System.out.println("c"); } static void d(){ System.out.println("d"); } } 执行完就可以分析出结论了。。。
直到2失效(你打成生效了)。需要注意的是,若是条件不满足2了,那么循环终止,但是3执行的结果还是会保留。