首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运算符+=与=+的区别

运算符+=与=+的区别
EN

Stack Overflow用户
提问于 2013-07-09 19:03:14
回答 4查看 136关注 0票数 2

你能清楚地解释一下operator +=和operator =+之间的区别吗?显然,两者都是求和的捷径,但我不明白"=+“的含义

A += b等同于a=a+b。但是=+ b的等价性是什么?

下面是一个实际的例子:

代码语言:javascript
复制
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。我想知道为什么。

EN

回答 4

Stack Overflow用户

发布于 2013-07-09 19:05:42

=+不是operator。您可能会将其与赋值=unary + operator的组合混淆,后者将接受正值(不会更改其符号,+ (-3)仍然为-3),并且可以完全省略整数值。

代码语言:javascript
复制
int a = 5;
int b = 3;

a = (+b); // a = 3
a = (-b); // a = -3

  • Unary加运算符;表示正值(数字不带此项即为正数,however)
票数 7
EN

Stack Overflow用户

发布于 2013-07-09 19:05:55

a=+ba=0+b相同,换句话说,就是a=b

=+不是运算符。它是赋值运算符=,后跟一个正号++应用于右侧的变量,因此您可以将其读取为a= (+b)

票数 2
EN

Stack Overflow用户

发布于 2013-07-09 19:06:31

a -= b等同于a = a - b,并且

a =- b等同于a = - b

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17546584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档