i=i+1和i+=1以及i++和++i详解
原因就在于,当使用复合赋值运算符进行操作时,即使右边算出的结果是int类型,系统也会将其值转化为左边的byte类型,而使用简单赋值运算时没有这样的优待,系统会认为将i+1的值赋给i是将int类型赋给byte,所以要求强制转换。比如i=3,b=i++就是说b=3,完成之后让i变成4,b=++i就是先让i++变成4,然后b=4,其中**++i比i++效率要高些**。左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。i++是先传递结果后加,而++i刚好相反,是先加后传递结果。
原创
2023-09-11 19:34:20 ·
7827 阅读 ·
0 评论