hsmwhsmw

初心者入門関係演算子 - 演算子 - Java入門

今後、処理を制御するための様々な方法が出てきます。その中でもある条件を満たしている時だけ実行する条件分岐や、条件が満たされている間は繰り返し同じ処理を行う繰り返し処理などが多く利用する機会が多いと思います。

詳しい解説は別のページで行いますので下記のサンプルだけ簡単に見てください。

int old = 10;

if (old >= 20){
  System.out.println("20歳以上です");
}else{
  System.out.println("20歳未満です");
}

変数「old」に代入された値を20と比較します。大きいか等しければ「20歳以上です」と画面に出力し、小さい場合には「20歳未満です」と画面に出力します。

このような条件式で使用されるのが関係演算子です。関係演算子は2つの値を比べます。大きいか小さいかまたは等しいかなどを評価し、結果として式全体がtrue又はfalse となります。

左辺 関係演算子 右辺
^^^^^^^^^^^^^^^^^^^^
式が評価され、結果として式がtrueかfalseとなる

関係演算子として用意されているのは次の通りです。

演算子使用例意味
<a < ba は b よりも小さい
<=a <= ba は b よりも小さいか等しい
>a > ba は b よりも大きい
>=a > ba は b よりも大きいか等しい
==a == ba と b は等しい
!=a != ba は b は等しくない
instanceofa instanceof b参照型変数a が bクラス/インターフェース/配列のインスタンスかどうか

関係演算子を含む式が正しければtrueとなり間違っていればfalseとなります。例えば 10 < 20 は正しいので 10 < 20 という式がtrueとなります。なおinstanceofは取り合えず気にしないで下さい。別のページでまた確認します。

ではそれぞれ確認してみます。

大小の比較

大きさを比較する関係演算子は「<」「<=」「>」「>=」の4つが用意されています。それぞれ「小さい」「以下」「大きい」「以上」を判定しています。

左辺 < 右辺
左辺 <= 右辺
左辺 > 右辺
左辺 >= 右辺

次の例を見てください。

int num = 10;
boolean b1, b2;

b1 = num > 5;
b2 = num <= 4;

「num > 5」は変数「num」の値が10ですので正しいです。結果として式はtrueとなりますので変数「b1」にはtrueが代入されます。

「num <= 4」は変数「num」の値が10ですので間違いです。結果として式はfalseとなりますので変数「b2」にはfalseが代入されます。

等しいかどうかの比較

等しいかどうかを判定する関係演算子は「==」「!=」の2つが用意されています。それぞれ「等しい」「等しくない」を判定しています。

左辺 == 右辺
左辺 != 右辺

次の例を見てください。

int num = 10;
boolean b1, b2;

b1 = num == 5;
b2 = num != 4;

「num == 5」は変数「num」の値が10ですので間違いです。結果として式はfalseとなりますので変数「b1」にはfalseが代入されます。

「num != 4」は変数「num」の値が10ですので正しいです。結果として式はtrueとなりますので変数「b2」にはtrueが代入されます。

注意する点として、等しいかどうかを判定する関係演算子の場合、対象となる値が「基本のデータ型」の場合には値そのものを比較しますが、クラスや配列などの場合には比較するものが異なります。詳しくは配列やクラスのページで解説します。

サンプル

では簡単なサンプルで試してみます。

JSample11_1.java

class JSample11_1{
  public static void main(String args[]){
    int num = 10;

    System.out.println("num = " + num);

    System.out.print("num > 5  --> ");
    System.out.println(num > 5);

    System.out.print("num <= 4  --> ");
    System.out.println(num <= 4);

    System.out.print("num == 5  --> ");
    System.out.println(num == 5);

    System.out.print("num != 4  --> ");
    System.out.println(num != 4);
  }
}

コンパイル後に実行すると次のように表示されます。

p11-1