++運算符把它的單個操作數(shù)增加1,這個操作數(shù)必須是變量缔刹、數(shù)組中的元素或對象的字段球涛。這個運算符的行為取決于它相對于操作數(shù)的位置。放在操作數(shù)之前校镐,是前遞增運算符亿扁,遞增操作數(shù)的值,并返回遞增后的值鸟廓。放在操作數(shù)之后从祝,是后遞增運算符,遞增操作數(shù)的值引谜,但返回遞增前的值牍陌。
例如,下面的代碼把 i 和 j 的值都設為 2:
i = 1;
j = ++i;
但是员咽,下面的代碼把 i 的值設為 2毒涧,j 的值設為 1:
i = 1;
j = i++;
類似地,-- 運算符把它的單個數(shù)字操作數(shù)減小 1贝室,這個操作數(shù)必須是變量契讲、數(shù)組中的元素或對象的字段。和 ++ 運算符一樣滑频,-- 的行為也取決于它相對于操作數(shù)的位置捡偏。放在操作數(shù)之前,遞減操作數(shù)的值峡迷,并返回遞減后的值银伟。放在操作數(shù)之后,遞減操作數(shù)的值绘搞,但返回遞減前的值彤避。
表達式 x++ 和 x-- 分別等效于 x=x+1 和 x=x-1,不過使用遞增和遞減運算符時看杭,只會計算一次 x 的值。如果 x 是有副作用的表達式挟伙,情況就大不相同了楼雹。例如模孩,下面兩個表達式不等效:
a[i++]++;? ? // 遞增數(shù)組中的一個元素?
a[i++] = a[i++] + 1;??// 把數(shù)組中的一個元素增加1,然后把新值存儲在另一個元素中
這些運算符贮缅,不管放在前面還是后面榨咐,最常用來遞增或遞減控制循環(huán)的計數(shù)器。