
논리 연산자는 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