请求高手给我详细解析下 i++ 和 ++i的区别

解决方案 »

  1.   

    i++是用后再加,而++i是加完再用
    比如说a有个属性是a有几块钱,b=5
    a.setB(++b),那么a现在得钱是6,b得数值是6,就是说加后再用
    a.setB(b++), 那么a现在得钱是5, b得数值是6,就是说用后再加
      

  2.   

    比如说这个题:
       int i =9;
      System.out.print(i++);
      System.out.print(++i);
      因为i前面还没使用所以是9
      第一个输出后i变成了10所以第二个输出的时候i先加1 也就是输出的是11?
      

  3.   

    (i++)和(++i)的共同点在于表达式完成后i的值都会加1
    不同之处在于表达式完成后表达式的值是不同的,即对于表达式(i++),其值就是i未加1的原始值,而表达式(++i)的值则是i增加1之后的值。举例:
    int i = 5;
    i++;
    此时i的值为6,而i++的值则为5.
    int i =5;
    ++i;
    此时i的值为6,而++i的值也为6.++i和i++的区别一般表现在++i和i++作为一个表达式的一部分的时候,假如单独使用,是没有什么区别的。
      

  4.   

    i++是先赋值后运算,而++i则是先运算后赋值
    比如这个表达式:
             i=0;
    int s=i++ + ++ i
         结果s=1,而这个时候i=1。因为,i++需要等到整个表达式完成后,i才会加1
      而这个表达式:
            int j=0;
           int t=++j  + ++j
         结果是t=3, 因为,++j后j等于1 ,第二个++j时j等于2,1+2=3;此时j=2.
       看着两个表达式你就明白二者区别了。