java中x=x+1,x+=1,x++的效率问题

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

https://blog.csdn.net/article/details/8956215