你能清楚地解释 operator += 和 operator =+ 之间的区别吗? 显然,两者都是求和的快捷方式,但我不明白“=+”的意思
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;
}
}
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。我想了解原因。
最佳答案
=+
不是 operator .您可能会将它与赋值 =
和 unary +
operator 的组合混淆,它将取值为正(不改变其符号,+ (-3)
仍然是 -3
)并且可以完全省略整数值。
int a = 5;
int b = 3;
a = (+b); // a = 3
a = (-b); // a = -3
+ Unary plus operator; indicates positive value (numbers are positive without this, however)
关于java - 运算符 += 和 =+ 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546584/