码迷,mamicode.com
首页 > 编程语言 > 详细

Java中 = 和 += 的区别

时间:2018-11-30 11:39:34      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:赋值   运算   隐式   运算符   强制   位操作   div   比较   编译   

1)+:在编译器将右边的表达式结果计算出来后,和左边的变量类型比较精度,如果左边的变量精度低于右边的结果的精度,编译器会显式的报错,告诉程序员去强制转型。(所以s1 = s1 + 1出错)最后将表达式的结果复制到变量所在的内存区。

2)+=:编译器自动隐式直接将+=运算符后面的操作数强制装换为前面变量的类型,然后在变量所在的内存区上直接根据右边的操作数修改左边变量内存存储的二进制数值(所以 s += 1不报错)最后达到和赋值运算符相同的目的。与前者相比,由于后者是位操作,效率也较前者高。

Java中 = 和 += 的区别

标签:赋值   运算   隐式   运算符   强制   位操作   div   比较   编译   

原文地址:https://www.cnblogs.com/zzz222-/p/10042177.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!