演算子にはふたつの値を比較する関係演算子と呼ばれる演算子がある。値の大きさの比較や、それらの値が同じか違うかなどを比較するものだ。
非常によく使うというより、これがないとプログラミングでできることがほとんどなくなる。
このページでは関係演算子の使い方についてまとめている。
目次
Javaの関係演算子の使い方
Javaの関係演算子は、ふたつの値を比較するための演算子だ。例えば、ふたつの値を比較してどちらが大きいか等しいかなどを知りたいとき、関係演算子を使う。
演算結果は、boolean型となる。関係演算子の条件が成立するならば、演算結果はtrueとなる。そうでなければ、falseになる。
書き方の基本は簡単だ。
比較結果 = オペランド1 演算子 オペランド2;
演算子の種類
代入演算子には、大きくふたつの種類がある。さらに、それぞれ演算の対象によって演算子が異なる。次のセクションでこれらのひとつひとつの演算子の詳細を説明している。
- 関係演算子 → 数値比較演算子、型比較演算子
- 等価演算子 → 数値等価演算子、Boolean等価演算子、参照等価演算子
では、その詳細を見てみよう。
関係演算子
関係演算子は、さらにふたつに分けられる。ひとつは、数値を比較するための数値比較演算子である。もうひとつは型を比較するための型比較演算子である。
数値比較演算子
数値を比較するための数値比較演算子の一覧を示す。演算子を使った例とその意味を説明している。
演算子 |
例 |
説明 |
< |
a < b |
aがbより小さければtrue、それ以外はfalseになる。 |
<= |
a <= b |
aがbより小さいか等しいならtrue、それ以外はfalseになる。 |
> |
a > b |
aがbより大きければtrue、それ以外はfalseになる。 |
>= |
a >= b |
aがbより大きいか等しいならtrue、それ以外はfalseになる。 |
型比較演算子
型を比較するための型比較演算子の一覧を示す。演算子を使った例とその意味を説明している。
演算子 |
例 |
説明 |
instanceof |
a instanceof b |
aの参照がbの型にキャスト可能であるならtrue、それ以外はfalseになる。 ただし、aがnullか、aがキャスト時に例外:ClassCastExceptionが発生するなら、結果はfalseになる。 |
等価演算子
等価演算子はふたつのオペランドが等しいか等しくないかを調べる。演算子の一覧を示す。演算子を使った例とその意味を説明している。
演算子 |
例 |
説明 |
== |
a == b |
aとbが等しければtrue、それ以外はfalseになる。 |
!= |
a != b |
aとbが等しくなければtrue、それ以外はfalseになる。 |
これらふたつの等価演算子はオペランド(表のaとb)の種類よって、3つに分類される。
- 数値等価演算子 :オペランドが数値型である。
- Boolean等価演算子:オペランドがBoolean型である。
- 参照等価演算子 :オペランドが参照型である。
関係演算子を使ったサンプルプログラム
このサンプルプログラムは、前のセクションで例としてあげた関係演算子の例をそのままプログラムに書いたものだ。実際のコードで書き方と演算結果を確かめよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class RelationalOperators { public static void main (String[] args) { int a;//[1] int b;//[2] boolean result;//[3] b = 3; a = 10;//[4] result = a < b;//[5] System.out.println("[6] a < b = " + result); result = a <= b;//[7] System.out.println("[8] a <= b = " + result); result = a > b;//[9] System.out.println("[10] a > b = " + result); result = a >= b;//[11] System.out.println("[12] a >= b = " + result); String aOfString = new String("ABC");//[13] result = aOfString instanceof String;//[14] System.out.println("[15] a instanceof String = " + result); } } |
実行結果
1 2 3 4 5 |
[6] a < b = false [8] a <= b = false [10] a > b = true [12] a >= b = true [15] a instanceof String = true |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [4] bに3を、aに10を代入する。
- [5] resultにa < bを代入する。
- [7] resultにa <= bを代入する。
- [9] resultにa > bを代入する。
- [11] resultにa >= bを代入する。
- [13] String aOfStringにnew Stringを代入する。
- [14] resultにaOfString instanceof Stringを代入する。
等価演算子を使ったサンプルプログラム
このサンプルプログラムは、前のセクションで例としてあげた等価演算子の例をそのままプログラムに書いたものだ。実際のコードで書き方と演算結果を確かめよう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public class EqualityOperators { public static void main (String[] args) { int a = 10;//[1] int b = 3;//[2] boolean result;//[3] result = a == b;//[4] System.out.println("[5] int a == b = " + result); result = a != b;//[6] System.out.println("[7] a != b = " + result); boolean aOfBoolean = true;//[8] boolean bOfBoolean = false;//[9] result = aOfBoolean == bOfBoolean;//[10] System.out.println("[11] boolean a == b = " + result); result = aOfBoolean != bOfBoolean;//[12] System.out.println("[13] a != b = " + result); String aOfString = new String("ABC");//[14] String bOfString = new String("EFG");//[15] result = aOfString == bOfString;//[16] System.out.println("[17] String a == b = " + result); result = aOfString != bOfString;//[18] System.out.println("[19] a != b = " + result); } } |
実行結果
1 2 3 4 5 6 |
[5] int a == b = false [7] a != b = true [11] boolean a == b = false [13] a != b = true [17] String a == b = false [19] a != b = true |
サンプルプログラムの説明
それでは簡単にプログラムの解説をしてゆこう。
- [4] resultにa == bを代入する。
- [6] resultにa != bを代入する。
- [8] 変数 aOfStringを宣言し、trueを代入する。
- [9] 変数 bOfStringを宣言し、falseを代入する。
- [10] resultに aOfString == bOfStringを代入する。
- [12] resultに aOfString!= bOfStringを代入する。
- [14] Stringを初期値”ABC”で生成し、aOfStringに代入する。
- [15] Stringを初期値”DEF”で生成し、bOfStringに代入する。
- [16] resultにaOfString == bOfStringを代入する。
- [18] resultにaOfString!= bOfStringを代入する。
まとめ
このページではJavaの比較演算子の使い方についてご紹介した。これだけだとなかなか何をしているかわかりにくいと思うが、今後必ず必要になってくる。(if文やfor文といったもので使う。)
大体のところは把握して、わからなくなったら、復習に来ていただければと思う。