導入
「1増やして代入し直す」ような処理は、プログラムの中でとても頻繁に出てきます。毎回 count = count + 1; と書くのは冗長なので、Javaには短く書ける専用の演算子があります。
説明
public class Main {
public static void main(String[] args) {
int count = 5;
count++; // count = count + 1 と同じ
System.out.println(count); // 6
count--; // count = count - 1 と同じ
System.out.println(count); // 5
int total = 100;
total += 20; // total = total + 20 と同じ
System.out.println(total); // 120
total *= 2; // total = total * 2 と同じ
System.out.println(total); // 240
int i = 3;
System.out.println(i++); // 先に評価してから+1(3が表示される)
System.out.println(i); // 4
System.out.println(++i); // 先に+1してから評価(5が表示される)
}
}
count++(後置インクリメント)・count--(後置デクリメント)…countを1増やす/減らす、count = count + 1の省略形です。+=-=*=/=%=(複合代入演算子)…変数 = 変数 演算子 値を短くまとめた書き方です。total += 20はtotal = total + 20と同じです。i++と++iの違い(後置と前置)は、式の中で使ったときだけ意味が変わります。i++はまず今の値を使ってから1増やし、++iは先に1増やしてからその値を使います。単独でi++;とだけ書く分には、どちらでも結果は同じです。
やってみよう
下のエディタで total の初期値や += の数値を変えて確かめましょう。i++ と ++i を入れ替えて、表示される数がどう変わるかも観察してみてください。
演習
int point = 1000; から始めて、point += 250; で250増やし、続けて point -= 100; で100減らし、最終的な point を表示してください(結果は 1150)。
ヒント1を見る
point += 250; は point = point + 250; と同じです。
ヒント2を見る
続けて point -= 100; してから System.out.println(point);。