Java中的+=加法赋值运算符是什么?

这是加法赋值运算符。让我们了解 Java 中的 += 运算符,并学会在日常编程中如何使用它。

x += y in Java is the same as x = x + y.

它是一个复合赋值运算符。最常用于递增变量的值,因为 x++ 只会将值增加一。

使用 += 运算符递增数值

这段代码会将 a 的值增加 2。让我们看一下例子:

int a = 1;
a+=2;
System.out.println(a);
Output

另一方面,如果我们使用 a++:

int a = 1;
a++;
System.out.println(a);
Output

a 的值仅增加了 1。

在 Java 循环中使用 +=

+= 运算符也可以与 for 循环一起使用:

for(int i=0;i<10;i+=2)
{
    System.out.println(i);
}
Output

i 的值在每次迭代时增加 2。

处理多种数据类型

另一个有趣的事情是,在 Java 中使用常规加法表达式将 int 加到 double 会导致错误。

int a = 1;
a = a + 1.1; // 会报错
a += 1.1;
System.out.println(a);

这里的第一行出错了,因为不能将整数加到双精度数上。

输出:

error: incompatible types: possible lossy conversion from double to int
a = a + 1.1; // 出错了 

然而,在Java中使用 += 运算符时,加法运算正常进行,因为Java现在将双精度数转换为整数值,并将其加1。当仅使用 += 运算符添加时,以下是代码运行时的输出。

Output

E1 op= E2 等同于 E1 = (T) ((E1) op (E2)),其中T是E1的类型,除了E1只被评估一次。这是Java进行类型转换以添加这两个数字。

字符串连接

+= 运算符也适用于字符串变异。

String a = "Hello";
a+="World";
System.out.println(a);
Output

字符串“Hello”已被变异,字符串“World”已连接到它上面。

结论

+= 是一个重要的赋值运算符。它最常用于循环中。同样的赋值也适用于其他运算符,如 -=,*=,/=

Source:
https://www.digitalocean.com/community/tutorials/addition-assignment-operator-in-java