Java入門

【Java入門】演算子その2(比較演算子、条件演算子、論理演算子)

2021年4月12日

はじめに

前回の記事では、Javaの演算子(算術演算子、代入演算子、インクリメント演算子、デクリメント演算子)について紹介しました。

本記事では、Javaの演算子(比較演算子、条件演算子、論理演算子)について紹介します。

比較演算子とは

比較演算子とは、2つの値を比較するときに使う演算子のことです。比較演算子で比較した結果、条件が成立した場合は true(読み:トゥルー)、成立しない場合は false(読み:フォルス)を返します。

スポンサーリンク

比較演算子の種類

比較演算子には次のようなものがあります。

比較演算子意味使用例使用例の説明
==等しいa == baとbが等しい場合、trueを返す
!=等しくないa != baとbが等しくない場合、trueを返す
<小なり(小さい)a < baがbよりも小さい場合、trueを返す
>大なり(大きい)a > baがbよりも大きい場合、trueを返す
<=以下a <= baがbよりも小さいか等しい場合、trueを返す
>=以上a >= baがbよりも大きいか等しい場合、trueを返す

比較演算子の使用例

それでは、実際にプログラムで比較演算子を使用した例を紹介します。

[比較演算子の使用例]

public class ComparisonOperator {

    public static void main(String[] args) {
        int a = 1;
        int b = 1;
        boolean result;
        
        System.out.println("a=" + a + ",b=" + b);
        
        // ==(等しい)
        result = (a == b);
        System.out.println("a == b:" + result);
        
        // !=(等しくない)
        result = (a != b);
        System.out.println("a != b:" + result);
        
        // <(小さい)
        result = (a < b);
        System.out.println("a < b:" + result);
        
        // >(大きい)
        result = (a > b);
        System.out.println("a > b:" + result);
        
        // <=(以下)
        result = (a <= b);
        System.out.println("a <= b:" + result);
        
        // >=(以上)
        result = (a >= b);
        System.out.println("a >= b:" + result);
    }
}

[実行結果]

a=1,b=1
a == b:true
a != b:false
a < b:false
a > b:false
a <= b:true
a >= b:true

条件演算子とは

条件演算子とは、条件式の真偽に応じてそれぞれ異なる値を返すことができる演算子です。

条件演算子の書式は次のとおりです。

条件演算子の書式

条件式 ? 式1 : 式2

条件式の結果が「true」の場合「式1」を返し、「false」の場合「式2」を返します。

条件演算子の使用例

それでは、実際にプログラムで条件演算子を使用した例を紹介します。

以下の例では条件演算子を使い、変数「age」が20以上であれば"20歳以上"、そうでない場合は"20歳未満"という文字列を返却しています。

[条件演算子の使用例]

public class ConditionalOperator {

    public static void main(String[] args) {
        int age = 20;
        String result = age >= 20 ? "20歳以上" : "20歳未満";
        
        System.out.println(result);
    }
}

[実行結果]

20歳以上

論理演算子とは

論理演算子とは、複数の条件式を組み合わせて、より複雑な条件をあらわすときに使う演算子です。

スポンサーリンク

論理演算子の種類

論理演算子には次のようなものがあります。

論理演算子読み方使用例使用例の説明
&&かつ(and)A && BAとBが共にtrueの場合、true
||または(or)A || BAかBの少なくても1つがtrueの場合、true
!~ではない(否定)!AAがfalseの場合、true

論理演算子「&&」は論理演算論理積であり、ベン図であらわすと次の通りです。

ベン図とは、論理演算を視覚的にわかりやすく表現するためのものです。

積集合

論理演算子「&&」は、条件Aと条件Bの両方を満たす場合「true」を返す。

論理演算子「||」は論理演算の論理和であり、ベン図であらわすと次の通りです。

和集合

論理演算子「||」は、条件Aと条件Bのどちらかを満たす場合「true」を返す。

論理演算子「!」は論理演算の否定であり、ベン図であらわすと次の通りです。

補集合

論理演算子「!」は、条件Aではないとき「true」を返す。

論理演算子の使用例

それでは、実際にプログラムで論理演算子を使用した例を紹介します。

[論理演算子の使用例]

public class LogicalOperator {

    public static void main(String[] args) {
        int age = 22;           // 年齢
        boolean isMan = true;  // 男性であるか
        boolean result;
        
        // &&(かつ)
        result = (age < 20 && isMan);
        System.out.println("20未満 かつ 男性:" + result);
        
        // ||(または)
        result = (age < 20 || isMan);
        System.out.println("20未満 または 男性:" + result);
        
        // !(否定)
        result = !(age < 20);
        System.out.println("20未満ではない:" + result);
    }
}

[実行結果]

20未満 かつ 男性:false
20未満 または 男性:true
20未満ではない:true

上記例では、論理演算子を使い次のような結果を返しています。

  • 論理演算子「&&」の例では、「isMan」の条件を満たしているが、「age < 20」の条件は満たしていないので、結果は「false」(2つの条件を満たさないとtrueにはならない)
  • 論理演算子「||」の例では、「age < 20」の条件は満たしていないが、「isMan」の条件を満たしているので、結果は「true」(2つの条件のどちらかを満たせばtrueになる)
  • 論理演算子「!」の例では、「age < 20」の条件ではないので、結果は「true」

終わりに

本記事では、Javaの演算子(比較演算子、条件演算子、論理演算子)について紹介しました。

次回の記事ではJavaの条件分岐(if文)について紹介します。

helpful