論理演算子とは?Javaで使用される論理演算子についてわかりやすく解説

論理演算子とは、Javaで条件式を組み合わせたり、条件結果を操作するために使用する演算子です。本記事では代表的な論理演算子について分かりやすく解説します。

論理演算子一覧

演算子説明
&&両方の条件がtrueの場合にのみ、結果がtrueになります。
どちらか一方でもfalseなら結果はfalse。
||どちらか一方、または両方の条件がtrueなら、結果がtrueになります。
両方がfalseの場合のみ、結果がfalse。
!値を反転させる単項演算子。
trueをfalseに、falseをtrueにします。
^両方の条件が異なる場合にtrue。
両方が同じ場合(両方trueまたは両方false)にfalse。

コード例

ここからは論理演算子を用いた具体的なコード例を紹介します。

  • &&(AND演算子)

「宿題をやっていて、部屋が片付いていれば遊びに行ける」を例えにした場合、コードでは下記のように表現できます。もしどちらか一方出来ていない状態だった場合(falseの場合)は「遊びに行けない…」が出力されます。

Java
public class LogicalOperatorExample {
    public static void main(String[] args) {
        boolean didHomework = true; // 宿題をやった
        boolean cleanedRoom = true; // 部屋が片付いている

        if (didHomework && cleanedRoom) {
            System.out.println("遊びに行ける!");
        } else {
            System.out.println("遊びに行けない...");
        }
    }
}
  • ||(OR演算子)

「天気の状況で傘を持っていくか、持っていかないか」を例えにした場合、コードは下記のように表現できます。どちらか一方が「true」の場合は「傘を持っていく」が出力されます。

Java
public class LogicalOperatorExample {
    public static void main(String[] args) {
        boolean isRaining = false; // 雨が降っている
        boolean isSunny = true;   // 晴れている

        if (isRaining || isSunny) {
            System.out.println("傘を持っていく");
        } else {
            System.out.println("傘はいらない");
        }
    }
}
  • !(NOT演算子)

「宿題をやっていない場合、お母さんに怒られる!」を例えにした場合、コードは下記のように表現できます。宿題をやっていない場合(falseの場合)、「!」でfalseの逆であるtrueになり、「お母さんに怒られる!」が出力されます。

Java
public class LogicalOperatorExample {
    public static void main(String[] args) {
        boolean didHomework = false; // 宿題をやっていない

        if (!didHomework) {
            System.out.println("お母さんに怒られる!");
        } else {
            System.out.println("怒られない!");
        }
    }
}
  • ^(XOR演算子)

「友達が遊びに来るか、自分が遊びに行くか、どちらか一方だけの場合に部屋を片付ける」を例えにした場合、コードは下記のように表現できます。両方の条件が異なる場合「ture」を返すので、「部屋を片付ける」が出力されます。

Java
public class LogicalOperatorExample {
    public static void main(String[] args) {
        boolean friendComes = true;  // 友達が来る
        boolean iVisitFriend = false; // 自分が友達の家に行く

        if (friendComes ^ iVisitFriend) {
            System.out.println("部屋を片付ける");
        } else {
            System.out.println("部屋を片付けない");
        }
    }
}

まとめ

論理演算子は、プログラムの条件分岐や複雑な判断ロジックを作る際に欠かせないツールです。それぞれの特性を理解し、正しく使うことで、効率的で意図通りのプログラムを書くことができます!

タイトルとURLをコピーしました