那次在看尚学堂的视频的时候,老师说"+=“比”=+"的运算效率更高,所以就特意找了一下。本以为这样的回答应该很多的,但是也是找了很久才找到自己想要的答案,所以就把哪些精华部分给总结一下:
1 先说区别
+="会自动进行类型转化
int a=3,b=2;
a+=b;
System.out.println(a); //输出5
a=a+b;
System.out.println(a); //输出5、
分割线——————————————————————————————————
char a = '3';
int b=2;
a+=b;
System.out.println(a); //输出5
//a=a+b; //这句话会报错,a和b的类型不一样
System.out.println(a); //输出5
2 在说效率的问题
"+="的效率更高
对于a=3;a+=3;
是直接找到a的地址,把里面的值变成6。而对于a=a+3
;是先申请一个临时的内存空间存放表达式a+3的值,即6。然后把6赋给a,再释放临时申请的这个内存空间……所以运行效率比前者低