问题

上网找了找,关于i++和++i两个速度为什么有区别,大致是这么一个说法:

计算机内部实现过程有别,详细如下:
i=i+1的过程相当:
  temp=i+1; i=temp;
i++的过程相当:
  temp=i; i=temp+1; return temp;
++i的过程最简单:
i增1然后return i 的值,一步完成,没有给任何temp变量赋值

最早是在[http://bbs.chinaunix.net/thread-388165-1-1.html]的1楼发表。
为了验证这个问题我写了一下测试程序,分别以下用4个编译器做测试(我手里只有这几个):
javac 1.6.0_26
gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3
arm-none-linux-gnueabi-gcc (ctng-1.6.1) 4.4.3
mipsel-linux-gcc (GCC) 4.1.2

测试程序

Java: