논리 연산자는 boolean
형인 true
, false
를 비교하는데 사용한다.
&&
(그리고) : 두 피연산자가 모두 참이면 참을 반환, 둘중 하나라도 거짓이면 거짓을 반환||
(또는) : 두 피연산자 중 하나라도 참이면 참을 반환, 둘다 거짓이면 거짓을 반환!
(부정) : 피연산자의 논리적 부정을 반환. 즉, 참이면 거짓을, 거짓이면 참을 반환package operator;
public class Logical1 {
public static void main(String[] args) {
System.out.println("&& : AND 연산");
System.out.println(true && true); // true
System.out.println(true && false); // false
System.out.println(false && false); // false
System.out.println("|| : OR 연산");
System.out.println(true || true); // true
System.out.println(true || false); // true
System.out.println(false || false); // false
System.out.println("! 연산");
System.out.println(!true); // false
System.out.println(!false); // true
System.out.println("변수 활용");
boolean a = true;
boolean b = false;
System.out.println(a && b); // false
System.out.println(a || b); // true
System.out.println(!a); // false
System.out.println(!b); // true
}
}
&&
: 두 피연산자가 모두 참이어야 true
를 반환한다. 둘 중 하나라도 거짓이면 false
를 반환한다.||
: 두 피연산자 중 하나라도 참이면 true
를 반환한다. 둘 다 모두 거짓이면 false
를 반환한다.!
: 피연산자의 논리적 부정을 반환한다. 참이면 거짓을, 거짓이면 참을 반환한다.a && b
는 false
를 반환한다. 왜나하면 둘 중 하나인 b
가 거짓이기 때문이다.a || b
는 true
를 반환한다. 왜냐하면 둘 중 하나인 a
가 참이기 때문이다.!a
와 !b
는 각각의 논리적 부정을 반환한다.변수 a
가 10
보다 크고 20
보다 작은지 논리 연산자를 사용해서 확인해보자.
package operator;
public class Logical2 {
public static void main(String[] args) {
int a = 15;
// a는 10보다 크고 20보다 작다
boolean result = a > 10 && a < 20; // (a > 10) && (a < 20)
// boolean result = 10 < a && a < 20; // (a > 10) && (a < 20)
System.out.println("result = " + result);
}
}
참고로 다음과 같이 변수의 위치를 변경해도 결과는 같다.
범위를 나타내는 경우 이렇게 작성하면 코드를 조금 더 읽기 좋다.
boolean result = 10 < a && a < 20;
💡 단축키
- Complete Current Statement :
command
+shift
+enter