読み方 : ふくごうだいにゅうえんざんし
複合代入演算子【compound assignment operator】複合演算子

例えば、通常「aに1を加算せよ」は代入演算子と加算演算子を用いて「a=a+1;」のように記述するが、これを代入演算子に加算を組み合わせた「+=」を用いて「a+=1;」と簡潔に記すことができる。コードの意図が明確になり、変数名が長い場合に繰り返し記述しなくて良いという利点がある。文字列型を扱う言語では「+=」による文字列の連結が可能な場合もあり、例えば「name += "さん"」のように既存の文字列の末尾へ別の文字列を追加できる。
どの演算子と組み合わせることができるかは言語によって異なるが、算術演算子と組み合わせた「+=」(加算代入演算子)、「-=」(減算代入演算子)、「*=」(乗算代入演算子)、「/=」(除算代入演算子)、「%=」(剰余代入演算子)がよく使われる。論理演算子との組み合わせ(&=、^=、|=等)やビット演算子との組み合わせ(<<=、>>=等)が用いられることもある。
JavaやJavaScript、Python、PHPなどC言語から記法を導入した多くの言語で同じ構文が採用されており、現代のプログラミング言語においてほぼ標準的な記法となっている。ただし、対応する演算子の種類は言語によって異なる。また、単なる省略記法として扱われることが多いが、内部処理が完全に同一とは限らない場合もある。Javaでは左辺の変数型に合わせた型変換が自動的に行われるため、通常の代入式では必要となる明示的な型変換が不要になることがある。
(2026.5.22更新)