++运算符把它的单个操作数增加1,这个操作数必须是变量、数组中的元素或对象的字段。这个运算符的行为取决于它相对于操作数的位置。放在操作数之前,是前递增运算符,递增操作数的值,并返回递增后的值。放在操作数之后,是后递增运算符,递增操作数的值,但返回递增前的值。
例如,下面的代码把 i 和 j 的值都设为 2:
i = 1;
j = ++i;
但是,下面的代码把 i 的值设为 2,j 的值设为 1:
i = 1;
j = i++;
类似地,-- 运算符把它的单个数字操作数减小 1,这个操作数必须是变量、数组中的元素或对象的字段。和 ++ 运算符一样,-- 的行为也取决于它相对于操作数的位置。放在操作数之前,递减操作数的值,并返回递减后的值。放在操作数之后,递减操作数的值,但返回递减前的值。
表达式 x++ 和 x-- 分别等效于 x=x+1 和 x=x-1,不过使用递增和递减运算符时,只会计算一次 x 的值。如果 x 是有副作用的表达式,情况就大不相同了。例如,下面两个表达式不等效:
a[i++]++; // 递增数组中的一个元素
a[i++] = a[i++] + 1; // 把数组中的一个元素增加1,然后把新值存储在另一个元素中
这些运算符,不管放在前面还是后面,最常用来递增或递减控制循环的计数器。