易百教程

复合运算符

请考虑以下声明:

number = number + 10;

下面是一个简化版本:

number += 10;

=op中的op可以是以下任何算术运算符之一:

+  -  *  /  %

如果假设number的值为10,可以编写以下语句:

number *= 3;      // number 的值设置为:number*3 也就是 30
number /= 3;      // number 的值设置为: number/3 也就是 3
number %= 3;      // number 的值设置为: number%3 也就是 1

=op中的op也可以是以下运算符之一:

<<  >>  &  ^  |

语法

使用op=的一般语句形式:

lhs op= rhs;

其中rhs表示op=运算符右侧的任何表达式。效果与以下声明格式相同:

lhs = lhs op (rhs);

请注意rhs表达式周围的小括号。

首先,请考虑以下语句:

variable *= 12;

它与下面语句是一样的:

variable = variable * 12;

因为=op中的op适用于评估rhs表达式的结果,所以语句:

a /= b + 1;

它与下面语句是相同的:

a = a/(b + 1);