代入演算子いろいろ

メモ:

代入演算子とは、主に変数に対して右の値を設定することを表します。もっとも単純な代入演算子は、「=」のみを使った方法になります。それ以外に他の演算子を組み合わせた複合代入演算子と呼ばれる方法があります。

単純代入演算子

単純代入演算子とは、「右側の値を左側の変数に設定する」値の代入で「=」(イコールが1つ)のみを使用した形となります。

変数 = 値;

もう少し難しい言葉を使うと、左オペランドを右オペランドの値に書き換える単純な形で「変数(左オペランド) = 右オペランド」のようになります。左側は、値が置き換わる側になるので変数になります。

※オペランドとは、数式を構成する要素のうち、演算の対象となる値や変数、定数などのこと。(演算子以外のもの)

プログラムで使用する実際の例は、次のように記述します。

age = 30;

複合代入演算子

複合代入演算子は、演算子を組み合わせた代入で演算結果が左側の変数に設定されます。左オペランドと右オペランドの間に「演算子=」の形で記述し、「=」演算子とその他演算子を組み合わせます。

変数(左オペランド) 演算子= 右オペランド;

例えば、プログラムで使用する場合、次のようなものがあります。

stock = 10;
stock += 3;

上記例では、「10 + 3」の結果を「stock」に代入していることになります。つまり、左オペランドと右オペランドを一旦「+演算子」に使用し、その結果を左オペランドの変数に格納する事になります。

それでは、複合代入演算子がどのように動作するのか、次のプログラムで確認してみます。

public class Sample
{
    public static void main(String[] args)
    {
        int a;
        int b;

        a = 30;
        b = 3;

        a += b;
        System.out.println("a += bの結果:" + a);
        //上記結果がaに入っているのでaは33
        a *= b;
        System.out.println("a *= bの結果:" + a);
    }
}

このプログラムを実行すると次のように出力されます。

a += bの結果:33
a *= bの結果:99

算術演算子との組み合わせ

演算子 意味
+= a += b a = a + b と同義
-= a -= b a = a – b と同義
*= a *= b a = a * b と同義
/= a /= b a = a / b と同義
%= a %= b a = a % b と同義

ビット演算子との組み合わせ

演算子 意味
&= a &= b a = a & b と同義
|= a |= b a = a | b と同義
^= a ^= b a = a ^ b と同義

シフト演算子との組み合わせ

演算子 意味
<<= a <<= b a = a << b と同義
>>= a >>= b a = a >> b と同義
>>>= a >>>= b a = a >>> b と同義

Related Link(Ads)