如题
for(int i=0;i<10;i++)
for(int i=0;i<10;++i)
这两者有什么区别?javafor循环i++++i

解决方案 »

  1.   

    i++
    ++i
    的区别C的第一堂讲的就是...
      

  2.   

    i++具有滞后性
    ++i具有提前性
    例如:
    int i=0;
    System.out.println(i++);
    这里结果为:0
    System.out.println(++i);
    这里结果为1
      

  3.   

    其实没啥区别,i++是指调用i之后加一,++i是指调用i之前加一,调用i的值都是一样的,一般都是用i++,
      

  4.   

    可能还有个误解,之前看到过,我刚想起来了,for循环是先执行前两个条件,再执行最后一个条件。
    例如:
    [align=left]for(int i=0;i<10;i++){
    System.out.println(i++);
    }[/align]
    第一次执行前两个条件,满足,输出i=0,而后i++,i变成1,再执行for循环的第三个条件i++,i变成2;执行第二次循环,i是2,还是满足前两个条件,输入2;………………而
    [align=left]for(int i=0;i<10;++i){
    System.out.println(++i);
    }[/align]
    第一次执行前两个条件,满足,因为是输出++i,所以i先加一再输入,所以第一次输出1,而后执行for循环的第三个条件++i,i变成2;执行第二次循环,i是2,满足前两个条件,因为是输出++i,所以i先加一再输出,所以第二次出入i=3;……………………
      

  5.   

    单独就问题中的for没有什么区别,但是当单独讨论i++和++i时就有区别了,例如:a=i++,执行完后的a值是i原来的值,i值加了1,相当于a=i;
                            i=i+1;
                而a=++i相当于,i=i+1;
                              a=i;
      

  6.   

    在这个循环里没有区别。但是在如果在其它地方的话就有区别咯。比如:
    int i=0 if(i++ == 1){}
    int i=0 if(++i == 1){}
      

  7.   

    在这里没有区别,一般只有在有赋值的情况下才会表现出来,比如
    a = i++; 和 a = ++i;前者先赋值后增加,后者先增加后赋值,是运算符的
    优先性决定的。 
      

  8.   

    i++和++i是有区别的,但是在for循环里,你这样用,是没区别的
      

  9.   

    结果是一样的,只不过过程不一样,前者是先取i的值再加1,后者是先加1,后取i得值,结果都是i=9;
      

  10.   

    在这个for循环中是没有区别的,前缀和后缀自加(减)会在你复合语句中有区别,
    比如 int x=1;
    int a=x++; 后a=1,x=2;(先赋值,x再自加)
    int a=++x; 后a=2,x=2;(x先自加,再赋值)
      

  11.   

    在for循环里面是没有区别的 但是在运算的时候就有区别了
    例如:int a = 10;
    int b = a++;
    out.print(b); 打印10,但是这个时候a的值确是11了
    int c = 10;
    int d = ++c;
    out.print(d); 打印11,c的值也变成了11;
      

  12.   

    有些做法,强调的是习惯,不是对错,习惯用十十i这种,在用operator十十时,你就赚了,那会快不少!