java中x=x+1,x+=1,x++的效率问题,这个问题之前我一直没想过,今天突发奇想!说实话,我还真没想过,这几天,杂七杂八的事情太多了,先记录下来,回头再来想这个问题!当然啦,有知道的小伙伴,也可以回答一下,帮我解下惑,不吝赐教!
public class Test {
public static void main(String[] args) {
for (int i = 0; i < 20; i++) {
test1();
}
}
public static void test1() {
int x = 0;
long t = System.currentTimeMillis();
for (int i = 0; i < 1000000000; i++) {
x = x + 1;
}
int y = 0;
long t2 = System.currentTimeMillis();
System.err.println("x = x + 1 执行1000万次用时 : " + (t2 - t) + " 毫秒");
for (int i = 0; i < 1000000000; i++) {
y += 1;
}
int z = 0;
long t3 = System.currentTimeMillis();
System.err.println("y += 1 执行1000万次用时 : " + (t3 - t2) + " 毫秒");
for (int i = 0; i < 1000000000; i++) {
z++;
}
long t4 = System.currentTimeMillis();
System.err.println("z++ 执行1000万次用时 : " + (t4 - t3) + " 毫秒");
System.err.println("x:" + x + " y:" + y + " z:" + z);
System.err.println("--------------------------------------------");
}
}
输出
x = x + 1 执行1000万次用时 : 5 毫秒
y += 1 执行1000万次用时 : 5 毫秒
z++ 执行1000万次用时 : 3 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 37 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 1 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 1 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 1 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 1 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 1 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 1 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
x = x + 1 执行1000万次用时 : 0 毫秒
y += 1 执行1000万次用时 : 0 毫秒
z++ 执行1000万次用时 : 0 毫秒
x:1000000000 y:1000000000 z:1000000000
--------------------------------------------
几乎没有区别...
https://blog.csdn.net/weixin_40597170/article/details/79630230