从编译方法、运行效率等方面说明。
或者自己理解这种题应该怎么做?

解决方案 »

  1.   

    i=i+1;//因为1默认是int型,所以i先转为int,然后相加,结果为int型,然后结果再转型为i的定义类型
    i++;//就是,在i++;这句代码后面的代码中,i就变成了i+1;
    i+=1;//http://blog.csdn.net/haorengoodman/article/details/8148801
      

  2.   

    http://www.ticmy.com/?p=285http://www.ticmy.com/?p=43
      

  3.   

    i=i+1;//是在i的基础上加1,重新赋值给变量i 
    i++;//是在i的基础上相加
    i+=1;//和第一个意义一样
      

  4.   

    i++等价于i+=1
    i=i+1和i+=1还是有差别的
    如果i是short类型 i+=1不会报错 但是i=i+1就会报错
    是因为1是int类型的+一个short类型结果会被自动转换为int类型,这时如果再赋值给一个short类型的变量会报可能损失精度的错误
    但i+=1不会改变i的类型 所以赋值可以成功