1. public class Test {  2. static boolean foo(char c) {  3. System.out.print(c);  4. return true;  5. }  6. public static void main( String[] argv ) {  7. int i =0;  8. for ( foo('A'); foo('B')&&(i<2); foo('C')){  9. i++ ;  10. foo('D');  12. }  13. }  14. }  What is the result?
    第8行没看明白,请明白的指点一下,谢谢!

解决方案 »

  1.   

    哪里不明白,for ( foo('A'); foo('B')&&(i <2); foo('C'))
    你是读for循环不明白把。你把它变成while循环,也可以啊。
    第一个;号之前,不要管,第二个;号后的表达式循环最后执行就是了。
    foo(char c)方法返回的都是true;
      

  2.   

    这个简单,static静态方法,这题目不用static也一样
    在main()方法里,
    当i=0时,往下,先执行foo('A'),这是一个初始语句,
    只执行一次,以后不再执行,所以打印A,往下执行foo('B'),
    打印B,判断i<2,再往下执行i++,i就为1,再foo('D'),打印
    D,再执行foo('C'),打印C;好了,一次循环执行完毕。当i=1时,执行foo('B'),打印B,判断i<2,再往下,i++,i为2了,
    foo('D'),打印D,再执行foo('C'),打印C,好了,第二次循环执行完毕。当i=2时,执行foo('B'),打印B,判断i<2,不通过,结束循环,结束程序
      

  3.   

     8. for ( foo('A'); foo('B')&&(i <2); foo('C')){ 
    就是一个for循环
    for(Int i=0 ;i<10;i++)
    这个你能看懂吧,套上去就是了
      

  4.   

    for(初始语句;逻辑语句;迭代语句)
    for语句含义大概是:先执行初始语句,判断逻辑表达式的值,当逻辑表达式的为真时,执行循环体语句,执行迭代语句,然后再去判别逻辑表达式的值,这一过程一直进行下去,直到逻辑表达式的值为假时,循环退出。
    按我的理解应该是:ABCBCD,不知对不对?
      

  5.   

    漏了啊,看漏了啊,哈哈
    应该是ABCDBCD