operator + =和= +之间的差异

use*_*597 2 java operator-keyword

你能清楚地解释运算符+ =和运算符= +之间的区别吗?显然,两者都是总和的捷径,但我没有得到"= +"的含义

a + = b等于a = a + b.但是a = + b的等价性是什么?

这是一个实际的例子:

public class SumOfSquares {

   private int[] inputArray;
   private Integer result;

   public SumOfSquares(int[] inputArray) {
      this.inputArray=inputArray;
      result = new Integer(0);
   }

   public Integer getResult () {
      for (int counter=0; counter<inputArray.length; counter++) {
     int currentNumber = inputArray[counter];
         result += currentNumber*currentNumber;
  }
  return result;
   }
}
Run Code Online (Sandbox Code Playgroud)

inputArray={1,2,3,4,5}.预计result=55(1^2+2^2+3^2+4^2+5^2= 1+4+9+16+25= 55),如果我取代result += currentNumber*currentNumber;result =+ currentNumber*currentNumber;,我得到的25,而不是55的结果,我想知道为什么.

Xav*_*ica 7

=+不是运营商.您可能会将它与赋值=一元运算+的组合混淆,后者将该值视为正值(不会更改其符号,+ (-3)仍然是-3),并且可以完全省略整数值.

int a = 5;
int b = 3;

a = (+b); // a = 3
a = (-b); // a = -3
Run Code Online (Sandbox Code Playgroud)

+一元加运算符; 表示正值(但是没有这个数字是正数)