运算符+ = vs = +之间有什么区别

时间:2013-06-20 06:44:36

标签: java operators

我刚刚意识到我正在使用= +而不是运算符+ =而我的程序正在做各种奇怪和意想不到的事情。 Eclipse没有给我任何类型的错误,所以我认为= +是一个合法的运算符,但在我的书中没有提到它。

我的问题是= +做什么,如果有什么,在什么情况下你会使用它?

6 个答案:

答案 0 :(得分:7)

 +=

添加AND赋值运算符,它将右操作数添加到左操作数并将结果赋给左操作数。

示例:

 int i =1;
 int j=2;
 i += j;
 System.out.println(i);  //prints 3

=+ same as =

让我们举个例子

  int i =1;
  int j=2;

  i =+ j;
  System.out.println(i);  //prints 2 only 

Nice Operator Guide.

答案 1 :(得分:6)

=+与赋值运算符=

相同
a =+ b;

相当于

a = (+b);

相同
a = b;

答案 2 :(得分:1)

要强调的重要事实是Java中没有=+赋值运算符。

您只是一个接一个地列出两个运营商(=然后+

  • i =+ j;就像写i = +j;一样。

虽然看起来有点时髦,但在考虑减号时,每个人都很清楚。

  • i =- j;i = -j;
  • 相同

正如许多其他答案中所述,添加和分配运算符+=

  • 将右侧表达式添加到左侧变量的值
  • 然后将该添加的值分配给左侧变量。

答案 3 :(得分:1)

实际上说 i=ji= +j 相同并不完全正确, 因为 i= +j 将变量类型提升为 int,如果它小于 int,而赋值则不会。 例如:

byte b1 = 2;
short s1 = b; // compiles and s1 equals 2 of type short
short s2 = +b; // Compile error: required type: short, provided int
// Because the result of +b equals 2 of type int

答案 4 :(得分:0)

+=将右操作数添加到左操作数并将其分配给左操作数

=+为左操作数

指定一个值

答案 5 :(得分:0)

除了与=

相同之外,没有= +的影响