自己试了一下,感觉没什么区别?
public class For{
public static void main(String[] args){
for(int i = 0;i < 10; i++){
System.out.println(i);
}
System.out.println("--------------------");
for(int i = 0;i < 10; ++i){
System.out.println(i);
}
System.out.println("==================");
}
}输出结果都一样,到底有区别不?

解决方案 »

  1.   

    i++:先引用后增加
    ++i:先增加后引用
    在for循环中是一样的
    但很多地方是不一样的,比如:
    int j;
    int m;
    j=++i;
    m=i++;
    这时m与j的值是不一样的
      

  2.   

    i++ 在i所在的表达式中使用i的当前值后,让i加1
    ++i 预先在i基础上加1,然后在i所在的表达式中使用i的新值
      

  3.   

    你试一试在while循环里还一样吗,呵呵
    试一下,把自增变量放到循环体的头和尾,只要循环体和自增变量有关,结果就不一样
      

  4.   

    for中其实不管是i++或++i都是在for循环体全部执行完毕后才执行,
    如:for(int i = 0;i < 10; i++){
    System.out.println(i);
    }
    等同于for(int i = 0;i < 10; ){
    System.out.println(i);
                                  i++;
    }
    而for(int i = 0;i < 10; ++i){
    System.out.println(i);
    }
    同样和for(int i = 0;i < 10; ){
    System.out.println(i);
                                 ++i;
    }是一个意思,
    所以楼主应该明白了吧
      

  5.   

    i++就是在用之后再给i加1,而++i就是先自加1再用变量i,其实不光是java里面,很多语言里面都是一样的
      

  6.   

    for 循环中的i++ 和 ++i,对计算 结果没有区别
      

  7.   

    简单点说, ++i与i++的区别是:
    ++i是先执行 i=i+1在使用i的值
    而i++是先使用i的值再执行i=i+1。例如:i的原值是5,则
      对于 j=++i,j的值为6;
      对于 j=i++,j的值为5,然后j的值变为6。
      

  8.   

    int i = 0;
    System.out.println(i);
    System.out.println(i++);
    System.out.println(i);
    System.out.println(++i);不就看出来了吗
      

  9.   

    int operator ++ ()//前置操作符
    {
    return i+1;
    }int operator ++ (int flag)//后置操作符
    {
    int j = i;
    i += 1;
    return j;
    }
    在for循环中使用++i要比使用i++,成本低其它的区别,楼上的兄弟们都说过了
      

  10.   

    而且似乎
    for (int i = n; i > 0;) {
        System.out.println(--i);
    }

    for (int i = 0; i < n;) {
        System.out.println(++i);
    }
    实惠一些,因为跟0比较比跟非0数比较快好象
      

  11.   

    i++:先引用后增加
    ++i:先增加后引用
    在for循环中是一样的
    但很多地方是不一样的,比如:
    int j;
    int m;
    j=++i;
    m=i++;
    一个是先引用后自加.一个先自加再引用。
      

  12.   

    谢谢个位的回答,i++和++i在赋值等操作中的用法我是清楚的,就是个位说的:
    i++:先引用后增加
    ++i:先增加后引用问问题时忘了说清楚了,不好意思。
    只是在复习SCJP时,突然一题中的for循环是以++i来增量的,以为有什么区别,但自己试了下,又试一样的,所以想和大家讨论下。while循环中试了一下,也是一样的。
      

  13.   

    两个短缩算术运算符为++和--。
    ++把它的值自增1,--把它的值自减1。这两个运算符既可以出现在操作数之前(前缀),也可以出现在操作数之后(后缀)。前缀++i是先自增1然后将其赋值(自增在前赋值在后;若i=5 ++i i即为6),后缀i++是先赋值再进行自增1运算(赋值在前,自增在后;若i=5 i++  i即为5,然后i为6),--亦然。
      

  14.   

    回复人: lancelobb(兰斯洛特) ( ) 信誉:100  2005-09-06 09:01:00  得分: 0  
     
     
       只要不和赋值语句连在一起,的确是没有区别
      
     
    -----------------------------------------------------------------------------------
    错!!!
    那for(int i=0; i<10; i++) 与 for(int i=0; i<10; ++i) 是一样的吗???
    都说了,++i与i++的内存开销不同!!!
    执行次数越多,效果越明显。
      

  15.   

    i++:先引用后增加
    ++i:先增加后引用
    在for循环中是一样的
    但很多地方是不一样的,比如:
    int j;
    int m;
    j=++i;
    m=i++;
    这时m与j的值是不一样的