ゼロから学ぶJava
トップ/演算子
演算子13章 / 全26

組み合わせる(論理演算子)

この章で学ぶこと

複数の条件を組み合わせる「論理演算子」を学びましょう。「AかつB」「AまたはB」のような表現ができるようになります。

条件を組み合わせたい

「18歳以上、かつチケットを持っている」入場できる条件が2つあるとき、比較演算子だけでは表現できません。

論理演算子を使うと、複数の条件を1つにまとめられます。3種類あります。

3つの論理演算子を動かしてみよう

text
1true
2true
3false
java
1public class Main {
2 public static void main(String[] args) {
3 int score = 85;
4 boolean inTime = true;
5
6 System.out.println(score >= 80 && inTime); // true
7 System.out.println(score >= 80 || inTime); // true
8 System.out.println(!inTime); // false
9 }
10}
  • score >= 80 && inTime → 「85以上」かつ「時間内」→ 両方 true → true
  • score >= 80 || inTime → 「85以上」または「時間内」→ 一方が true → true
  • !inTimetrue を反転 → false

真偽表で確認する

&&(かつ) — 両方 true のときだけ true

結果
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

||(または) — どちらか一方でも true なら true

結果
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

!(ではない)truefalse を反転

元の値結果
truefalse
falsetrue

ポイント

&& は「かつ」(両方 true)、|| は「または」(どちらか true)、! は「ではない」(反転)です。

よくあるミス

&&|| を逆に使ってしまう

「AかつB」のつもりで || を使うと、意図と反対の動きになります。「かつ」なら &&、「または」なら || と覚えましょう。

まとめ

  • && :両方が true のときだけ true(かつ)
  • || :どちらか一方が true なら true(または)
  • !truefalse を反転(ではない)
  • 複数の比較条件を組み合わせるときに使う

確認問題

「AかつB」の両方が true のときだけ true になる論理演算子はどれですか?