我今天刚去应聘的一道笔试题,帮我分析一下?
public   class   Bishiti 
 { 
 	static   boolean   fan(char   a) 
 	{ 
 		System.out.print(a); 
 		return   true; 
 	} 
 	public   static   void   main(String   args[]) 
 	{ 
 		int   i=0; 
 		for(fan( 'a ');fan( 'b ')&&i <2;fan( 'c ')) 
 		{ 
 			i++; 
 			fan( 'd '); 
 			} 
 		}  	 
 	}   
 大家先别去运行,先分析分析,在去运行一下。为什么是那样的结果? 
------解决方案--------------------public class Bishiti     
 哈哈,笑死了
------解决方案--------------------大相径庭.....
------解决方案--------------------abdcbdcb  
 scjp的
------解决方案--------------------abdcbdcb 
------解决方案--------------------知道for是怎么工作的就可以了,楼主真逗!
------解决方案--------------------这个题曾经有人问过 
 印象考的是两个知识点 
 1,for();是怎样的执行顺序;(f(a)-> fan( 'b ')-> i <2-> -> i++-> fan( 'd ')-> fan( 'c ')-> f(b)-> i(=1)  < 2 ->  i++ ->  fan( 'd ') ->  ->  fan( 'c ') ->  fan(b)-> i (==2) <(2)(停止)) 
 2,&&的执行顺序.但是看这道题好像就不必考虑2的情况了 
------解决方案--------------------这好像挺简单的 
 只是仔细点
------解决方案--------------------不错,这个问题,主要考察细心与基本知识的 
  所涉及知识点: 
   1,for()循环中的初始值的的应用,步长的增加。 
   2,&&的应用。(我现在还有点疑惑:&&与&的区别?????)
------解决方案--------------------不错,这个问题,主要考察细心与基本知识的 
  所涉及知识点: 
   1,for()循环中的初始值的的应用,步长的增加。 
   2,&&的应用。(我现在还有点疑惑:&&与&的区别?????)   
 ++++++++++++++++++++++++++++++++++++++++++++++++ 
 &两边都要进行运算,而用&&是左边为假时不进行右边的运算.
------解决方案--------------------不错的题~~~~ 
 跟同事讨论了下,希望大家给意见: 
 主要了解for的执行顺序 
 1:执行fan( 'a '),输出a 
 2:执行fan( 'b '),输出b 
 3:fan( 'b ')&&i <2为真, 执行i++;fan( 'd ');i=1,输出d 
 4:执行fan( 'c '),输出c 
 5:执行fan( 'b '),输出b 
 6:fan( 'b ')&&i <2为真, 执行i++;fan( 'd ');i=2,输出d 
 7:执行fan( 'c '),输出c 
 8:执行fan( 'b '),输出b 
 9:fan( 'b ')&&i <2为假,停止~~~~~~~~~