public class TestMain {
//问题2
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  
  需要解释  谢谢

解决方案 »

  1.   

    for循环中有三个参数只要中间那个参数返回的是true,就会执行循环体内的内容!
    调试一下就知道了!!!!!!
    O(∩_∩)O~
    初来乍到请多多关照!
      

  2.   

    int i=0后线执行foo('A'),先输出A
    然后执行foo('B')&&(i<2),输出B,boolean为true
    可以进入for循环体中执行,i=1,输出D
    然后调用foo('C'),输出C
    然后再是foo('B')&&(i<2),输出B,boolean为true
    可以进入for循环体中执行,i=2,输出D
    然后调用foo('C'),输出C
    然后再是foo('B')&&(i<2),输出B,boolean为false
    结束了循环so 输出结果为ABDCBDCB