Java中 = 和 += 的区别

Posted zzz222-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中 = 和 += 的区别相关的知识,希望对你有一定的参考价值。

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

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

以上是关于Java中 = 和 += 的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java中Runnable和Thread的区别

在java中String和StringBuffer的区别

java中Vector,ArraryList和LinkedList的区别

Java中List和ArrayList的区别

java中接口和类有啥区别 java中接口和类有啥区别

求解java中Containers和Panel的区别?