プログラミングの肝とも言える演算。この演算処理を実行するために、**演算子(オペレータとも言う)**を使います。
前回の式と文のコンテンツでも触れた通り、プログラミングでは変数代入時のみならず、さまざまな場面で登場する表現です。
今回はその演算子の使い方を、人気のプログラミング言語であるJavaで説明していきます。
演算子の種類
まずは演算子の種類を学んでいきましょう。
一言で演算子といえど、そこからいくつかの種類に分かれます。まとめると以下のように4種類の演算子があります。
- 算術演算子
+や-といった、いわゆる算数や数学で使う演算子です。 - 文字列結合演算子
文字列を結合する(くっつける)ときに使います。使えるのは+のみ。 - 代入演算子
変数に代入するとき使う演算子です。=を使ったさまざまな表現があります。 - インクリメント演算子&デクリメント演算子
1ずつ増やす(減らす)ときに使います。++/--で表します。
算術演算子
まずは算術演算子の説明です。
以下は、算術演算子で扱える演算子の一覧になります。
| 演算子 | 演算の種類 | 例 |
|---|---|---|
+ | 加算(足し算) | 10 + 20 //=> 30 |
- | 減算(引き算) | 20 - 10 //=> 10 |
* | 乗算(掛け算) | 10 * 20 //=> 200 |
/ | 除算(割り算) | 6 / 2 //=> 3 |
% | 剰余(割り算の余り) | 17 / 3 //=> 2 |
加算、減算以外は算数や数学と違った記号を使うので、最初は戸惑うでしょうが、多くのプログラミング言語で同じ使い方をするのですぐ慣れます。
コードで書くと以下のようになります。
public class Main {
public static void main(String[] args) {
int sum = 0;
sum = 10 + 20;
System.out.println(sum); //=> 加算結果を出力
int sub = 0;
sub = 20 - 10;
System.out.println(sub); //=> 減算結果を出力
int mul = 0;
mul = 10 * 20;
System.out.println(mul); //=> 乗算結果を出力
int div = 0;
div = 6 / 2;
System.out.println(div); //=> 除算結果を出力
int mod = 0;
mod = 17 % 3;
System.out.println(mod); //=> 余りを出力
}
}文字列結合演算子
次に、文字列結合演算子を見ていきましょう。
単純に文字列を結合する(くっつける)だけの演算子となります。注意点として、型が文字列同士でないと使えないという特徴があります。
| 演算子 | 演算の種類 | 例 |
|---|---|---|
+ | 文字列結合 | "Hello, " + "Tanaka!" //=> "Hello, Tanaka!" |
コードで書くと以下のようになります。
public class Main {
public static void main(String[] args) {
String str = "";
str = "Hello, " + "Tanake!";
System.out.println(str); //=> Hello, Tanake!
}
}代入演算子
代入演算子は、変数のコンテンツでも扱ったように、変数を代入するときに使います。
ただし、=だけでなく、=に別の記号を与えることで幅広い表現が可能です。
| 演算子 | 演算の種類 | 例 |
|---|---|---|
= | 右辺を左辺に代入 | x = 10 |
+= | 左辺に右辺を加算して代入 | x += 10(x = x + 10と同じ、文字列連結でも使える) |
-= | 左辺から右辺を減算して代入 | x -= 10(x = x - 10と同じ) |
*= | 左辺に右辺を乗算して代入 | x *= 10(x = x * 10と同じ) |
/= | 左辺から右辺を除算して代入 | x /= 10(x = x / 10と同じ) |
%= | 左辺から右辺を除算して余りを代入 | x %= 10(x = x % 10と同じ) |
コードで書くと以下のようになります。
public class Main {
public static void main(String[] args) {
int a = 10;
a += 5;
System.out.println(a); //=> 15
int b = 10;
b -= 5;
System.out.println(b); //=> 5
int c = 10;
c *= 5;
System.out.println(c); //=> 50
int d = 10;
d /= 5;
System.out.println(d); //=> 2
int e = 10;
e %= 3;
System.out.println(e); //=> 1
}
}インクリメント演算子&デクリメント演算子
プログラミングでよくある表現として、「この数値を+1したい」「この数値を-1したい」といった場面があります。
そういったときにインクリメント演算子とデクリメント演算子が、簡単にそれを表現してくれます。
| 演算子 | 演算の種類 | 例 |
|---|---|---|
++ | 1増加 | x++(x += 1と同じ) |
-- | 1減少 | x--(x -= 1と同じ) |
コードで書くと以下のようになります。
public class Main {
public static void main(String[] args) {
int x = 5;
x++;
System.out.println(x); //=> 6
int y = 5;
y--;
System.out.println(y); //=> 4
}
}++xのように、インクリメント演算子とデクリメント演算子は書く位置を前にすることもできますが、一般的ではないので避けましょう。
演算子の優先度
演算子には優先度があり、優先度が高いほど先に処理されるという性質があります。
たとえば、+(加算)と*(乗算)では*(乗算)の優先度が高いため、先に計算されます。
優先度分けをすると以下のようになります。
- 優先度グループ(高)
*,/,% - 優先度グループ(中)
+,- - 優先度グループ(低)
代入演算子全般
この規則を知っておかないと、結果が期待通りにならず混乱してしまうため、頭に入れておいてください。
コンピュータ=計算機
普段、我々が使っているコンピュータは、もともと計算機と呼ばれていたものです。
その言葉通り、本来計算を処理するための機械であるため、コンピュータと対話する作業であるプログラミングは計算が基本的な処理です。
演算子の使い方を正しく理解しておくことは、プログラミング学習においてとても重要です。
代入演算子などは意識しないと冗長な表現で書いてしまうこともあるため、しっかり覚えておきましょう。





