論理演算子

中級 Java

Jim White

Java Developer

AND、OR、NOT

  • 論理演算子で複数の条件を1つの文に結合できます
  • 主な3つ:
    • AND
    • OR
    • NOT
中級 Java

AND

  • 両方の条件が true かを確認します
boolean isLoggedIn = true;
boolean isAdmin = true;

// どちらも true
if (isLoggedIn && isAdmin) {
  System.out.println("Welcome admin!");
} else {
  System.out.println("You shall not pass.");
}
Welcome admin!
  • 少なくとも一方が false の場合、&& は false を返します
boolean isLoggedIn = false;
boolean isAdmin = true;

// 一方のみ true なので else が実行されます
if (isLoggedIn && isAdmin) {
  System.out.println("Welcome admin!");
} else {
  System.out.println("You shall not pass.");
}
You shall not pass.
中級 Java

OR

  • いずれかの条件が true かを確認します
boolean isAdmin = true;
boolean isModerator = false;

// 一方のみ true
if (isAdmin || isModerator) {
  System.out.println("Welcome!");
} else {
  System.out.println("You shall not pass.");
}
Welcome!
  • どちらか一方または両方が true なら true
boolean isAdmin = true;
boolean isModerator = true;

// 両方 true
if (isAdmin || isModerator) {
  System.out.println("Welcome!");
} else {
  System.out.println("You shall not pass.");
}
Welcome!
中級 Java

NOT

  • truefalsefalsetrue に反転します
boolean isLoggedIn = false;

// isLoggedIn は false なので !isLoggedIn は true
if (!isLoggedIn) {
    System.out.println("You need to log in!");
} else {
    System.out.println("You are logged in, continue!");
}
You need to log in!
中級 Java

論理演算子と if-else if-else

int score = 90;
boolean isAttending = false;

if (score > 80 && isAttending) {
  System.out.println("Excellent work!");
} else if (score > 80 && !isAttending) {
  System.out.println("Good work, but attendance is important.");
} else if (score <= 80 && isAttending) {
  System.out.println("You need to work harder.");
} else {
  System.out.println("You need to work harder and attend classes.");
}
Good work, but attendance is important.
中級 Java

まとめ

次の表は &&||! の結果をまとめたものです。

a b a && b a | | b !a
true true true true false
true false false true false
false true false true true
false false false false true
  • 論理演算子は boolean または boolean に評価される式で使用できます
boolean a = true && (!false || (true && false)); // a is true
boolean b = (7 <= 3) || (3 >= 5); // b is false
中級 Java

実践してみましょう!

中級 Java

Preparing Video For Download...