大神帮忙看下这段代码
public class Test {
	static boolean foo(char c) {
		System.out.print(c);
		return true;
	}
	public static void main( String[] argv ) {
		int i =0;
		for ( foo('A'); foo('B')&&(i<2); foo('C')){
			i++ ;
			foo('D');
 		}  
 	}  
}  
输出结果ABDCBDCB
为什么
              
------解决方案--------------------for(A;B;C)
A:初始化,只执行一次。
B:循环退出判断,每次循环都会判断。
C:每次循环完后执行。