カテゴリ: JavaSilver試験対策 更新日: 2026/03/25

Javaの論理演算子を徹底解説!初心者でもわかる条件式の書き方

024
Javaの論理演算子

先生と生徒の会話形式で理解しよう

生徒

「Javaで複数の条件をまとめて判断する方法ってありますか?」

先生

「ありますよ。それには論理演算子を使います。これを使えば複数の条件を組み合わせて効率よく判断できます。」

生徒

「論理演算子って具体的にどんなものなんですか?」

先生

「それでは、論理演算子の種類や使い方について詳しく見ていきましょう。」

1. 論理演算子とは?

1. 論理演算子とは?
1. 論理演算子とは?

Javaの論理演算子は、複数の条件を組み合わせて、複雑な条件式を作成するための演算子です。条件分岐やループ処理など、さまざまな場面で活用されます。

以下は代表的な論理演算子です:

演算子 使用例 意味
& a & b aとbの両方がtrueであればtrue
&& a && b aとbの両方がtrueであればtrue
| a | b aもしくはbのいずれかがtrueであればtrue
|| a || b aもしくはbのいずれかがtrueであればtrue
! !a aがtrueであればfalsefalseであればtrue

2. ショートサーキット演算子とは?

2. ショートサーキット演算子とは?
2. ショートサーキット演算子とは?

&&||はショートサーキット演算子と呼ばれ、左側の条件の結果だけで右側の条件を評価しないことがあります。

たとえば、次の例を見てみましょう:


public class ShortCircuitExample {
    public static void main(String[] args) {
        int x = 10;
        if (x < 5 && ++x > 15) {
            // この条件は評価されません
        }
        System.out.println("xの値: " + x); // 出力: 10
    }
}

このコードでは、x < 5falseのため、&&の右側の条件++x > 15は評価されません。その結果、xの値はそのままになります。

3. 論理演算子の例題

3. 論理演算子の例題
3. 論理演算子の例題

以下のプログラムでは、論理演算子を使って条件を評価しています:


public class LogicalOperatorExample {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        if (a > 10 && ++b > 10) {
            a++;
        }
        System.out.println(a + b); // 出力: 20
    }
}

このコードでは、a > 10falseのため、右側の条件++b > 10は評価されません。したがって、変数abの値は変更されず、結果としてa + b = 20が出力されます。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. 注意点とコツ

4. 注意点とコツ
4. 注意点とコツ

論理演算子を使用する際には、次のポイントに注意しましょう:

  • ショートサーキットを活用:不要な評価を避けるために&&||を適切に使う。
  • 可読性を重視:複雑な条件式は分割して書くことでコードを読みやすくする。
  • 副作用を考慮:条件式で変数を変更する場合、期待通りに動作するか注意する。

5. 論理演算子と比較演算子の組み合わせ

5. 論理演算子と比較演算子の組み合わせ
5. 論理演算子と比較演算子の組み合わせ

論理演算子は、比較演算子と組み合わせて使うことでより複雑な条件式を作ることができます。 例えば、数値の範囲を判定したい場合によく使用されます。

次のコードを見てみましょう:


public class RangeCheckExample {
    public static void main(String[] args) {
        int score = 75;

        if (score >= 60 && score <= 100) {
            System.out.println("合格です");
        }
    }
}

このコードでは、scoreが60以上かつ100以下である場合に「合格です」と表示されます。 このように、論理演算子を使うことで複数の比較条件をまとめて判断することができます。

6. 否定演算子の使い方

6. 否定演算子の使い方
6. 否定演算子の使い方

論理演算子の中でも!は否定演算子と呼ばれ、条件の結果を反転させる役割があります。 条件がtrueの場合はfalseになり、falseの場合はtrueになります。

以下の例を確認してみましょう:


public class NotOperatorExample {
    public static void main(String[] args) {
        boolean isLoggedIn = false;

        if (!isLoggedIn) {
            System.out.println("ログインしてください");
        }
    }
}

このコードでは、isLoggedInfalseのため、 否定演算子!によって条件がtrueになり、 「ログインしてください」というメッセージが表示されます。

7. 論理演算子を使った実務での活用例

7. 論理演算子を使った実務での活用例
7. 論理演算子を使った実務での活用例

論理演算子は実際のプログラムでも非常によく使われます。 例えば、ユーザーの入力チェックやログイン判定などで活用されます。

次の例では、年齢と会員状態を使って利用可能かどうかを判断しています。


public class ServiceAccessExample {
    public static void main(String[] args) {
        int age = 20;
        boolean isMember = true;

        if (age >= 18 && isMember) {
            System.out.println("サービスを利用できます");
        } else {
            System.out.println("サービスを利用できません");
        }
    }
}

このように論理演算子を利用することで、複数の条件をまとめて判断できるため、 実務でも非常に重要な役割を持っています。

まとめ

まとめ
まとめ

論理演算子は、複数の条件をまとめて評価する際に非常に便利なツールです。本記事では、論理演算子の基本的な種類や使い方から、ショートサーキット演算子の仕組み、具体的な使用例までを解説しました。 特に&&||は効率的な条件判定に役立つので、理解を深めることが重要です。

また、ショートサーキットの特性を活用することで、不要な処理を避け、プログラムの効率を向上させることが可能です。論理演算子を正しく使うためには、条件式の評価順序や副作用について注意が必要です。

以下に、学んだ内容を基にした応用例を紹介します。


public class LogicalOperatorSummary {
    public static void main(String[] args) {
        int x = 5;
        int y = 15;

        // 条件を複数組み合わせる
        if (x > 0 && y < 20 || x + y > 25) {
            System.out.println("条件を満たしました!");
        } else {
            System.out.println("条件を満たしませんでした。");
        }
    }
}

この例では、複数の条件を&&||を使って組み合わせています。このような条件式は、実際の開発現場でも頻繁に使用されます。

先生と生徒の振り返り会話

生徒

「論理演算子を使うと、複雑な条件を簡単に書けるんですね!」

先生

「その通りです。特にショートサーキット演算子を理解すると、コードの効率が上がります。」

生徒

「でも、副作用には気をつけないといけないんですね。条件式の中で変数をいじると、思わぬ結果になるかもしれないと分かりました!」

先生

「その通りです。条件式をシンプルに保つことがポイントです。これからも練習を続けていきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaの論理演算子とは何ですか?初心者にもわかりやすく教えてください。

Javaの論理演算子とは、複数の条件を組み合わせて複雑な条件式を作るために使う演算子です。&&(AND)や ||(OR)、!(NOT)などがあり、条件分岐やループ処理でよく使われます。

Javaの論理演算子「&&」と「||」の違いは何ですか?

「&&」は両方の条件がtrueのときにtrueになります。「||」はどちらか一方でもtrueならtrueになります。条件を厳しくしたい場合は「&&」、どちらかでよければ「||」を使います。

Javaの論理演算子「!」の使い方を教えてください。

論理演算子「!」はNOT演算子と呼ばれ、trueをfalseに、falseをtrueに反転させます。条件の否定を表現したいときに使います。
JavaSilver試験対策の一覧へ
新着記事
Flutter
Flutterでのリポジトリパターンの実装例
Flutterでリポジトリパターンを実装する方法を完全解説!初心者向けアーキテクチャ設計入門
Java
Java の Objects クラスを使って null チェックを簡単にする方法
JavaのObjectsクラスの使い方を完全ガイド!nullチェックを簡単・安全に行う方法
Java
Java の UUID クラスを使って一意の識別子を作成する方法
JavaのUUIDクラスの使い方を完全ガイド!初心者でもわかる一意な識別子の作成方法
Java
Java の古い日付クラス(Date, Calendar)と新しい日付 API の違い
JavaのDateとCalendarと新しい日付APIの違いとは?初心者向け完全ガイド
人気記事
Java
Java の Random クラスを使ってランダムな数値を生成する方法
JavaのRandomクラスの使い方を完全ガイド!初心者でもわかる乱数生成
Java
Java の getter メソッドと setter メソッドの使い方
Javaのgetterメソッドとsetterメソッドの使い方を完全ガイド!初心者でもわかるアクセス方法
AWS
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
【AWS】RDSの料金体系まとめ!ざっくり理解・高いと感じる理由も解説
AWS
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説
【AWS】VPCとは?初心者向けに仕組み・用途・できることをわかりやすく解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク