代入演算子のバリエーション - 萌えJava超入門
第五章 演算子

代入演算子のバリエーション

加算代入演算子(+=)と減算代入演算子(-=)の説明です。

i+=2;
i-=2;

重要
  1. 左辺と右辺の演算結果を左辺の変数に代入します。
  2. 左辺は必ず変数でなければいけません。
  3. 左辺の変数は初期化(値が代入)されている必要があります。

目次


1.代入演算子の種類

普通の代入演算子については、以前にも触れていますね。
難しいことはないでしょう。

ご参考↓
 第四章 変数・リテラル・データ型
  変数
   変数に値を代入する
 1. 代入演算子「=」
aは変数である必要があります。
代入演算子
演算子使用例意味
=a = ba に b を代入します


その他にも以下の様なバリエーションがあります。
特に着色部分はよく使いますので、覚えておくといいでしょう。

aは変数である必要があります。
代入演算子のバリエーション
演算子使用例意味
+=a += ba = a + b と同じ
-=a -= ba = a - b と同じ
*=a *= ba = a * b と同じ
/=a /= ba = a / b と同じ
%=a %= ba = a % b と同じ
&=a &= ba = a & b と同じ
|=a |= ba = a | b と同じ
^=a ^= ba = a ^ b と同じ
<<=a <<= ba = a << b と同じ
>>=a >>= ba = a >> b と同じ
>>>=a >>>= ba = a >>> b と同じ

紹介しておいてアレだが、
積極的に使いたいのは
 += 加算代入演算子
 -= 減算代入演算子
の2つ位だ。
そうなんすか?
多分好みの問題だろうが、
私は 「>>=」 とか、
関係演算子とごちゃごちゃになりそうなので、
あんまり好きくない。
個人的な感想です。



2.+= 加算代入演算子

変数 iが数値の場合、 i=i+2; のことを i+=2; と書けます。
ちなみに、加算は Stringでも使えます。

書式
  i = i + 2; のことは i += 2; と書けます。

//Sample05_51.java
class Sample05_51 {
    public static void main(String[] args){
        int i = 0;
        System.out.println(i);//0
        i+=2;
        System.out.println(i);//2
        i+=2;
        System.out.println(i);//4
        i+=2;
        System.out.println(i);//6
        i+=2;
        System.out.println(i);//8
    }
}

コマンドライン
>javac Sample05_51.java
>java Sample05_51
0
2
4
6
8



3.初期化エラー

変数 iに値が入っていること(初期化といいます)が前提条件です。
値が入っていない状態で使うと初期化エラーが発生します。

初期化エラー
//Sample05_51NG.java
class Sample05_51NG {
    public static void main(String[] args){
        int i;
        i+=2;//初期化エラー
        System.out.println(i);
    }
}

コマンドライン
>javac Sample05_51NG.java
Sample05_51NG.java:5: エラー:
変数iは初期化されていない可能性があります
                 i+=2;
                 ^
エラー1個




4.-= 減算代入演算子

変数 iが数値の場合、 i=i-2; のことを i-=2; と書けます。

書式
  i = i - 2; のことは i -= 2; と書けます。

//Sample05_52.java
class Sample05_52 {
    public static void main(String[] args){
        int i = 0;
        System.out.println(i);//0
        i-=2;
        System.out.println(i);//-2
        i-=2;
        System.out.println(i);//-4
        i-=2;
        System.out.println(i);//-6
        i-=2;
        System.out.println(i);//-8
    }
}

コマンドライン
>javac Sample05_52.java
>java Sample05_52
0
-2
-4
-6
-8




5.ヒント

ちょっとまって。
ごちゃごちゃになってきた。
私もっス。
記号が2つ合体した演算子が慣れないです。
+= なのか =+ なのかわからなくなりそう。
ヒントになるかわからないが、
記号が2つ合体した演算子はどれも「=」が右側になる。

この後関係演算子も出てくるが、それらも同様だ。
 += 加算代入演算子
 -= 減算代入演算子
 <= 以下(関係演算子)
 >= 以上(関係演算子)
 != 否定(関係演算子)
なるほど!
「=」は右ですね。


ナイスヒント!


今すぐすべてを完璧に覚える必要はないぞ。
忘れたらその都度ネットで調べればいい。
そのために私たちがいる。
ソースコードを書くときは、大体そういうものだ。
待ってるわよ。
うぃっス。


お疲れ様でした。




© 2019 awasekagami