一道面试题,求解
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语句执行顺序 最后一次循环虽然条件不成立但还会输出一个B
------解决方案--------------------ABDCBDCB 
 初始值:foo( 'A ');输出A 
 条件:foo( 'B ')&&(i <2);输出B 
 满足:foo( 'D '); 输出D 
 foo( 'C ')) 输出C 
 继续判断条件:输出B.... 
 这和for(int i=0;i <10;i++){ 
   System.out.print(..); 
 }不一样吗~   
------解决方案--------------------第一次ABDC foo( 'C ')循环末运行 
 第二次BDC //foo( 'A ')不再运行初始值 
 第三次B i==2,不符合条件,跳出循环
------解决方案--------------------汗  没注意到for循环  哎 基础不牢啊。。
------解决方案--------------------A 
 B 
 D 
 C   
 B 
 D 
 C   
 B 
 ####### 
 TO 2楼的: 
 这个题目没有到贱的地步吧?