刚才看帖子,里面有这么段代码,真是没看明白。代码如下:public class TestDemoFor {
public static boolean print(char c){
System.out.println(c);
return true;
} public static void main(String[] args){
int i = 0;
for (print('A');print('B') && i < 2;print('C')){
print('D');
i++;
}
}}
为什么?

解决方案 »

  1.   

    貌似可以观察到for语句各参数的执行次序。
      

  2.   

    翻译过来就是
    int i=0;
    for ( true;true&&i<2;true ){
        print('D');
        i++
    }这个应该能看明白吧。循环2次结束
      

  3.   

    这需要从for循环的结构讲起。
    其实你也可以类比。
    print('A')(相当于int i=0的初始化),然后print('B')(相当于i<某个数)。
    print('C')(相当于i++)
    是不是就明白了?
    那么结果应该是ABDCBDCB吧
      

  4.   

    这估计是一个测试for循环中各个语句的执行顺序吧,
    很明显,语句执行顺序是这样的:
    print('A');
    print('B') && i < 2;
    print('D'); i++;
    print('C');
    print('B') && i < 2;
    print('D'); i++;
    print('C');
    print('B') && i < 2;
    所以结果就是
    A
    B
    D
    C
    B
    D
    C
    B
      

  5.   

    这个比较清楚,其实就是一个for循环的执行过程。
      

  6.   

    TestDemoFor 方法看懂了,才会看懂main方法中的for循环,楼上的大侠们都已经讲清楚了,我就不重复了
      

  7.   

    其实只是一个for中对i的判断,别的都是ture,都是符合条件的,只判断i是否符合<2就行了,TestDemoFor 返回的都是ture,所以不用管print的东东
      

  8.   

    让你好好理解for的原理的,如果你明白for循环的机制的话,就明白输出结果了,
     int i = 0;
            for (print('A');print('B') && i < 2;print('C')){
                print('D');
                i++;
            }开始执行print('A'),然后print('B') && i < 2,满足循环条件,执行循环体,然后print('C'),然后回来判断是否满足循环条件(print('B') && i < 2),满足执行循环体,再执行print('C'),再判断是否满足循环条件,满足则执行循环体,不满足则循环停止,以此类推。
      

  9.   

    java是一个最基础的for操作,没什么特别之处啊!
      

  10.   

    这个程序是测试for循环中执行的顺序, 其结果应该是:
    A
    B
    D
    C
    A
    B
    D
    C
    A
    B
      

  11.   

    这个其实很简单了
    你一句一句的分析就清楚了,其实不断的再For语句中调用print这个静态函数而已
    print函数根据上面的定义就是把参数打印出来,返回一个true,也就是说print方法始终都是返回true的
    上面的代码翻译过来就是:
    for(true;true&&i<2;true){
    System.out.println('D');
    i++;
    }
    运行的结果是:
    A
    B
    D
    C
    B
    D
    C
    B
    当i=2时,程序进行print('B') && i < 2这句时,print('B')时执行的所以最后打印出B,
    i<2=false所以程序退出
    这样去理解就明白了