논리 연산자

중급 Java

Jim White

Java Developer

AND, OR, NOT

  • 논리 연산자는 한 문장에서 여러 조건을 결합합니다
  • 주요 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

  • truefalse로, falsetrue로 뒤집습니다
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...