関係演算子 - 萌えJava超入門
第五章 演算子

関係演算子

演算結果がbooleanになる演算子です。
式の真偽(true / false)を返します。

boolean bool = 1==1;

「1」と「1」は等しいですか?
      答え: 等しい(true)


目次


1.関係演算子の種類

「四則演算と余り」では、答えが数値でしたが、関係演算では答えが booleanになります。
関係演算子の種類には、以下の様なものがあります。

関係演算子の種類
演算子使用例 意味
==a == b a と b が等しい
!=a != b a と b が等しくない
<a < b a が b より小さい
<=a <= b a が b より小さいか等しい
>a > b a が b より大きい
>=a >= b a が b より大きいか等しい

「==」と「!=」が
独特ね。
合体記号演算子(注)は
「=」が右。
これのことっスね。




おっ! よく覚えていたな。
(注) 「合体記号演算子」は造語です。



2.書式

値1と値2を比較する場合は、以下の様に書きます。
答えは booleanになります。

書式
boolean 変数名 = 値1 関係演算子 値2

//Sample05_61.java
class Sample05_61 {
    public static void main(String[] args){
        boolean bool;
        bool = 1==1;
        System.out.println(bool);
        bool = 1!=1;
        System.out.println(bool);
    }
}

コマンドライン
> javac Sample05_61.java
> java Sample05_61
true
false

1==1 の式は、
「1と1は等しい」は、正しいか正しくないか?
という意味です。
1と1は等しいので、1==1は trueです。

1!=1 の式は、
「1と1は等しくない」は、正しいか正しくないか?
という意味です。
1と1は等しいので、1!=1は falseです。




ちょっと難しいかな?
if文に接したことがある方は
馴染みやすいと思う。
わりと大丈夫っス。


3. 使用例


いろいろな関係演算子を
使ってみよう。
変数の値を評価するぞ。
//Sample05_62.java
class Sample05_62 {
    public static void main(String[] args){

      int dice = 1;
      System.out.println("--------------------");
      System.out.println("dice  >  0 ?  "+ (dice  > 0));
      System.out.println("dice <=  0 ?  "+ (dice <= 0));
      System.out.println("dice != -2 ?  "+ (dice != -2));
      System.out.println("dice ==  4 ?  "+ (dice == 4));
      System.out.println("dice  <  3 ?  "+ (dice  < 3));
      System.out.println("dice >= -3 ?  "+ (dice >= -3));
      System.out.println("--------------------");
      System.out.println("dice: "+ dice);
    }
}

コマンドライン
> javac Sample05_62.java
> java Sample05_62
--------------------
dice  >  0 ?  true
dice <=  0 ?  false
dice != -2 ?  true
dice ==  4 ?  false
dice  <  3 ?  true
dice >= -3 ?  true
--------------------
dice: 1



4.文字の比較もできる

文字は文字コードという整数です。
文字コードはアルファベット順に振られていますので、'A'<'Z' です。
入力された値の評価などに使います。

ご参照 ↓
  Java超入門
    よく使いそうな資料一覧 ASCIIコード表
charの詳しい説明がまだだが、
関係演算子で比較できることを
覚えておくといいだろう。
//Sample05_63.java
class Sample05_63 {
    public static void main(String[] args){
       char dice = 'B';

       boolean bool = dice =='A'; //dice は Aですか?
       System.out.println("A ? " + bool);

       bool = dice =='B';//dice は Bですか?
       System.out.println("B ? " + bool);

       bool = dice =='C';//dice は Cですか?
       System.out.println("C ? " + bool);

       System.out.println("dice: " + dice);
       System.out.println("code: " + (int)dice);
    }
}

コマンドライン
> javac Sample05_63.java
> java Sample05_63
A ? false
B ? true
C ? false
dice: B
code: 66

ちなみに、'B'のキャラコードは、66です。

言ってることはわかるけど、
ちょっと変な感じね。
キャラコードの扱いは、
今後も折に触れて説明しよう。


5.文字列の比較はできません!

表題通り文字列の比較はできません。
文字列の比較は、equals()メソッド を使う必要があります。



お疲れ様でした。




© 2019 awasekagami