プログラミングでデータ型というと、数値を扱うイメージが強いのではないでしょうか。
Javaの数値には整数と浮動小数点があります。
整数は「10、100」の小数点を含まない数値、浮動小数点は「1.23、10.2345」のように小数点を含む数値となります。
今回は数値を使って、Javaで計算してみたいと思います。
Javaで数値計算
数値の計算に使う演算子は、算術演算子(代数演算子)と言います。
Javaに限らずですが、プログラミングの演算子は「+、-、*、/、%、**」を使用します。学校の算数でならった記号とは違いますので覚えておきましょう。
実際に計算のソースコードを実行してみます。
// 足す Integer a = 10 + 5; // 引く Integer b = 10 - 5; // 掛ける Integer c = 10 * 5; // 割る Integer d = 10 / 5; // 余り Integer e = 10 % 3; System.out.println("10 + 5 = " + a); System.out.println("10 - 5 = " + b); System.out.println("10 × 5 = " + c); System.out.println("10 ÷ 5 = " + d); System.out.println("10 ÷ 3 の余りは " + e);
実行結果:

算術演算子の優先順位
算術演算子を使って足し算と掛け算を一緒に計算すると、掛け算や割り算が先に計算されます。学校でならった計算の順番と同じです。
実際に計算してみましょう。
Integer a = 10 + 10 * 2; Integer b = (10 + 10) * 2; System.out.println("10 + 10 * 2 = " + a); System.out.println("(10 + 10) * 2 = " + b);
実行結果:

このようにカッコを付けてあげることで「10 + 10」が先に足し算されるようになりました。
計算の順番を明確にしたい場合など、上手く使うと良いです。
複合演算子とインクリメント
ここまで数値どうしの計算について書きました。
最後に複合演算子とインクリメントについて触れておきたいと思います。
まずは、変数に対して基本的な計算です。
Integer a = 1; a = a + 1; System.out.println(a);
変数「a」に対して1を代入し、次に「a」に「1」を足しています。
この計算結果は「2」となります。
複合演算子
「=」と演算子を組み合わせたものを複合演算子と言います。
算術演算子と同じように「+=、-=、*=、/=、%=」があります。
実際に足し算の例です。
Integer a = 1; a += 1; System.out.println(a);
計算結果は「2」となります。
「a += 1」の部分で変数「a」に「1」が足されています。
インクリメント、デクリメント
インクリメントは変数の数値を1つ増やし、デクリメントは1つ減らす場合に使用します。
インクリメントは「a++、++a」のように変数の前後に「++」の演算子2つ並べて記述します。。
デクリメントは「a–、–a」と記述します。
Integer a = 1; ++a; System.out.println(a);
計算結果は「2」となります。
a++と++aの違い
インクリメントは、変数に代入するときに前か後ろで動きが変わりますので注意が必要です。
まずは前に書く場合の「++a」を実行してみます。
Integer a = 1; Integer z = ++a; System.out.println(z);
計算結果は「2」です。
変数「a」 に1を足してから 「z」に代入しています。
次に後に書く場合の「a++」を実行してみます。
Integer a = 1; Integer z = a++; System.out.println(z);
計算結果は「1」となります。
変数「a」 を「z」に代入してから 「a」 に1が足されます。
まとめ
算術演算子を使った計算について解説しました。
学校でならった計算と同じように計算には優先順位があり、カッコを使うことで計算の順番を明確にできることについて触れました。
複合演算子やインクリメントを使用することで、ソースコードが分かりやすくなることもありますので状況に応じて使用しましょう。