Menu
CoddyTech

논리 연산자 4부

Coddy Java 여정의 기초 섹션에 포함된 레슨. 73개 중 26번째.

드모르간의 법칙은 NOT이 포함된 표현식을 간소화하는 데 도움이 되는 규칙입니다. 논리 표현식을 다룰 때 때로는 이를 간소화하거나 재배열해야 합니다.

and로 연결된 두 조건 앞에 not이 있으면 이를 두 부분으로 나눌 수 있어요. and는 or가 되고, 각 부분에 not이 붙어요:

!(A && B)는 (!A) || (!B)와 같아요

예를 들어:

// 숫자가 (1과 10 사이)에 있지 않은지 확인해 봅시다
int number = 15;
// 이 두 표현식은 동등합니다:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);
System.out.println(result1);  // true
System.out.println(result2);  // true

반대의 경우도 성립합니다: !(A || B)는 (!A) && (!B)와 같습니다.

예를 들어:

// 사람이 학생이거나 취업한 상태가 아닌지 확인
boolean isStudent = false;
boolean isEmployed = false;
// 이 두 표현식은 동일합니다:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);
System.out.println(result1);  // true
System.out.println(result2);  // true
challenge icon

챌린지

초급

반려동물 가게에서 고객에게 반려동물을 판매할 수 있는지 판단하는 시스템을 만들도록 돕고 있습니다.

다음 변수를 초기화하세요:

  • hasLicense의 값은 true
  • hasSpace의 값은 false
  • hasExperience의 값은 true

다음 논리식을 작성하여 다음을 판단하세요:

  • canSellRegularPet: 고객에게 면허 또는 경험 중 하나가 필요하며, 공간도 있어야 합니다
  • canSellExoticPet: 고객에게 면허와 경험이 모두 필요하며, 공간도 있어야 합니다
  • cannotSellAnyPet: 고객에게 면허와 경험이 모두 없거나, 공간이 없습니다
  • result: canSellRegularPet 또는 canSellExoticPet 또는 cannotSellAnyPet

팁: 변수에 실제로 들어 있는 값이 아니라, 요구 사항이 설명하는 조건을 작성하세요. "공간이 있어야 함" → hasSpace; "공간이 없음" → !hasSpace. 요구 사항이 변수 이름에 명시된 내용의 반대일 때만 !를 사용하세요. 예를 들어 "면허가 없음" → !hasLicense입니다.

직접 해보기

public class Main {
    public static void main(String[] args) {
        // 변수를 초기화하세요
        

        // 조건을 계산하세요
        boolean canSellRegularPet = 
        boolean canSellExoticPet = 
        boolean cannotSellAnyPet =
        boolean result =

        // 아래 줄을 삭제하지 마세요
        System.out.println("Can sell regular pet: " + canSellRegularPet);
        System.out.println("Can sell exotic pet: " + canSellExoticPet);
        System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
        System.out.println("Result: " + result);
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Java 컴파일러