java中x=x+1,x+=1,x++的效率问题,这个问题之前我一直没想过,今天突发奇想!说实话,我还真没想过,这几天,杂七杂八的事情太多了,先记录下来,回头再来想这个问题!当然啦,有知道的小伙伴,也可以回答一下,帮我解下惑,不吝赐教!
3条回答 默认 最新
- Lxinccode 2018-11-08 08:36关注
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 --------------------------------------------
几乎没有区别...
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常
- ¥15 关于风控系统,如何去选择
- ¥15 这款软件是什么?需要能满足我的需求
- ¥15 SpringSecurityOauth2登陆前后request不一致
- ¥15 禅道二次开发编辑版本,上传不了发行包