像+=、-=、*=、/=、%=这几个符号叫做复合赋值运算符或算术赋值运算符(赋值运算符包括=及其扩展赋值运算符),属于编写程序语言的人定义的算符,在C、C++及Java中都存在。
数学学得再好的人,对着这些算符一脸懵逼都是很正常的,因为就是没学过。
复合赋值运算符 | 名称 | 用法 |
---|---|---|
+= | 加赋值 | a+=b的意义等价于a=a+b |
-= | 减赋值 | a-=b⇔a=a-b |
*= | 乘赋值 | a*=b⇔a=a*b |
/= | 除赋值 | a/=b⇔a=a/b |
%= | 取余赋值 | a%=b⇔a=a%b |
大家在编写程序的时候有技巧地使用上述算符可以起到优化代码的作用哦…嗯没错…我在一本正经地胡扯,想想也知道用复合赋值算符满打满才能省几个字,定义变量名时定短点或少敲几次回车不香么?
复合赋值运算符大约也就是发明和改进程序语言的大神们炫技用的,属于圈内文化,其实用意义不大。另一些早已看穿的大神们就从不在编程书中对此多费笔墨。
ps:注意a+=b和a=a+b的具体实现逻辑是略有不同的,但只要它们的意义相同也就足够了。