Equivalent Boolean Expressions (De Morgan's Laws)

AP Computer Science A· difficulty 3/5

int a = 5;
int b = 10;
boolean p = !(a > 3 && b < 20);
boolean q = (a <= 3 || b >= 20);
System.out.println(p == q);

What is printed?

  • A

    true

    check_circle
  • B

    false

  • C

    p

  • D

    q

Explanation

By De Morgan's law, !(A && B) is equivalent to !A || !B. So p and q are logically equivalent and both evaluate to false here, making p == q true.

Want 10 more like this — adaptive to your weak spots?

Related questions