zoukankan      html  css  js  c++  java
  • i=i+1与i+=1的区别及效率

     

    在做个java优化的PPT时,看到了i=i+1与i+=1的区别,在这之前还真没想到那么细。

    1.x=x+1,x+=1及x++的效率哪个最高?为什么?

    x=x+1最低,因为它的执行如下。

    (1)读取右x的地址;

    (2)x+1;

    (3)读取左x的地址;

    (4)将右值传给左边的x(编译器并不认为左右x的地址相同)。

    x+=1其次,它的执行如下。

    (1)读取x的地址;

    (2)x+1;

    (3)将得到的值传给x(因为x的地址已经读出)。

    x++最高,它的执行如下。

    (1)读取右x的地址;

    (2)x自增1.

    2.x=x+1,和 x+=1; 在什么情况下不成立 而且 x=x+1 是错误的; (类型隐式转换)

    short x=1;
    x+=1;
    x=x+1; //因为 x是 short 类型 .当它+1 会自动转变成int 当是等于又 是 short 类型..所以会报错;

    3.x=x+1,和 x+=1; 在什么情况下不成立 而且 x+=1 是错误的;
    Object x="abc";
    String y="def";
    x+=y;
    x=x+y

     
     
  • 相关阅读:
    frp穿透.md
    6_模板与渲染.md
    4_多数据格式返回请求结果.md
    3_请求参数绑定与多数据格式处理.md
    5_中间件.md
    1_go_gin介绍.md
    2_Gin网络请求与路由处理.md
    14_文件.md
    firefox油猴脚本编写.md
    js 四舍五入
  • 原文地址:https://www.cnblogs.com/wfdespace/p/8511587.html
Copyright © 2011-2022 走看看