代入演算子
演算子だよ
演算子の右側の値を左側の変数に入れるよ
「=」(単純代入演算子)を指していることが多いけど、実際には「+=」「-=」「*=」「/=」「%=」など、いろいろあるよ
簡単に書くよ
代入演算子(読:ダイニュウエンザンシ 英:assignment operator)とは
プログラミングで出てくる演算子のひとつ
であり
「右側の値を左側の変数
(プログラミングにおける値を入れておく箱)に入れますよ~」な代入を意味する演算子
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「変数」と「演算子」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。
演算子は「どんな演算をするか表す記号」です。
「+」「-」「*(×)」「/(÷)」をはじめ、なんか いろいろ あります。
以上を踏まえて
演算子の右側の値を左側の変数に入れるときに使う演算子
が「代入演算子」です。
演算子の見た目は「=」(イコールが1つ)です。
例えば、そうですね。
以下のような処理が あったとしましょう。
a = 10;
これは
変数aに「10」を入れてください
な命令です。
ここで登場した「=」が代入演算子です。
多くの場合、プログラミング言語で出てくる「=」は、算数・数学の「=」とは違います。
慣れれば感覚的に分かりますけどね。
プログラミングを始めたばかりの人は意識してあげてください。
算数・数学で出てくる「=」は「右と左は同じですよ~」の意味ですよね。
言語の種類にもよりますが、プログラミング言語において「右と左は同じですよ~(同じですか~?)」を意味する演算子は「==(イコール2つ)」か「===(イコール3つ)」を使うことが多いのです。
「=」(イコール1つ)は比較では ありません。
代入です。
以上で代入演算子の概要の説明は終わりです。
次に、もう少し、あれやこれやを説明します。
余裕がある方は頑張って読んであげてください。
脳みそから煙が出そうな人は無理する必要ありません。
ゆっくり休んでください。
あっ、読んでくださるのですね。
ありがとうございます。
それでは、いってみましょう。
ここまでに説明した代入演算子は「単純代入演算子」とも呼ばれます。
何故そんな呼び名があるかというと、単純ではない代入演算子もあるからです。
単純ではない代入演算子は「複合代入演算子」と呼ばれています。
※もしかしたら複合代入演算子以外にも単純ではない代入演算子があるかもしれませんが、私は把握していません。
複合代入演算子は「演算子の左側の値と右側の値を使った計算をやり、その計算結果を左側の変数に入れる演算子」です。
言葉で説明されると分かりにくいですね。
実際の例を見ると、すぐに理解できると思います。
いくつか例を挙げてみましょう。
まずは「+=」です。
こいつは「加算代入演算子」と呼ばれています。
書き方は
ret += a;
です。
これは
ret = ret + a;
と書いたのと同じです。
変数「ret」の値と変数「a」の値を足し算して、その結果を変数「ret」に入れます。
「左辺の値と右辺の値を足し算して、結果を左辺に入れる」演算子です。
次は「-=」です。
こいつは「減算代入演算子」と呼ばれています。
書き方は
ret -= a;
です。
これは
ret = ret - a;
と書いたのと同じです。
変数「ret」の値から変数「a」の値を引き算して、その結果を変数「ret」に入れます。
「左辺の値から右辺の値を引き算して、結果を左辺に入れる」演算子です。
次は「*=」です。
こいつは「乗算代入演算子」と呼ばれています。
書き方は
ret *= a;
です。
これは
ret = ret * a;
と書いたのと同じです。
変数「ret」の値と変数「a」の値を掛け算して、その結果を変数「ret」に入れます。
「左辺の値と右辺の値を掛け算して、結果を左辺に入れる」演算子です。
次は「/=」です。
こいつは「除算代入演算子」と呼ばれています。
書き方は
ret /= a;
です。
これは
ret = ret / a;
と書いたのと同じです。
変数「ret」の値と変数「a」の値を使った割り算をして、その結果を変数「ret」に入れます。
「左辺の値と右辺の値を使った割り算をして、結果を左辺に入れる」演算子です。
最後は「%=」です。
こいつは「剰余代入演算子」と呼ばれています。
書き方は
ret %= a;
です。
これは
ret = ret % a;
と書いたのと同じです。
プログラミング言語によってはない場合もありますが「%」は割り算の余りを求める演算子です。
例えば
5 % 2
と書いた場合の計算結果は「1」になります。
5÷2の計算結果が「2、余り1」だからです。
「余り1」を拾います。
つまり
ret %= a;
は変数「ret」の値と変数「a」の値を使った割り算をして、その余りを変数「ret」に入れます。
「左辺の値と右辺の値を使った割り算をして、余りを左辺に入れる」演算子です。
ビット演算をしてその結果を代入したり、他にも複合代入演算子はあります。
ですが、よく出てくる有名どころは
・「+=」:足し算して代入
・「-=」:引き算して代入
・「*=」:掛け算して代入
・「/=」:割り算して代入
・「%=」:割り算して余りを代入
の5つです。
気が向いたら、覚えてあげてください。
複合代入演算子も代入演算子です。
代入演算子というカテゴリの中に単純代入演算子や複合代入演算子があります。
とはいえ、複合代入演算子を指す場合は「複合」と付けるのが一般的です。
単に「代入演算子」と出てきた場合は、単純代入演算子を指していることが多いでしょう。
あまり神経質になる必要は、ありませんけどね。
一応、頭の片隅にでも置いておいてあげてください。
「代入演算子」と出てきたら
1.単純代入演算子(「=」)とか複合代入演算子(「+=」「-=」「*=」「/=」「%=」……)とかのこと
2.単純代入演算子(「=」)のこと
の2つの場合があります。
一言でまとめるよ
まぁ「代入演算子」って単語が出てきたら「右の値(と左の値の計算結果)を左の変数
(プログラミングにおける値を入れておく箱)に入れるときに使う演算子なんだな~」と お考えください。
おまけ
■検索してみる?






