+=与=+的区别

+=与=+的区别

今天做LeetCode的时候,键盘敲得快了点,后来程序运行结果和设想相差很离谱,于是在关键位置逐行仔细检查代码,发现自己无意间把+=写成了=+(编译并不会报错)。那么+=与=+看起来如此相似,它们有什么样的区别呢?

验证

假定有参数a、b,我们都知道a += b是a = a+b的简写,而a =+ b又是什么呢?

写一段验证的程序就清楚了:

int a = 100;
		
a += 1;
System.out.println("a1="+a);		//a1 = 101
		
a =+ 1;
System.out.println("a2="+a);		//a2 = 1
		
a =- 1;
System.out.println("a2="+a);		//a2 = -1

结论

看结果很容易发现:

  • += 是简写,a += 1就是a = a+1
  • =+并不是简写,a =+ a直接对a的赋值,±符号代表的是正负(完全可以省略不写),即a =+ b其实就是a = b。

你可能感兴趣的:(Java)