<논리 연산자의 정의>

 

논리 연산자는 둘 이상의 조건을

'그리고(AND)'나 '또는(OR)'으로 연결하여

하나의 식으로 표현할 때 사용하는 연산자이다.

 

논리 연산자는 피연산자가 모두 boolean 타입이거나

boolean 타입을 결과로 하는 조건식이며,

연산 결과로 booleab 타입인 true와 false를 얻는다.

 

 

 

 

<논리 연산자 &&>

 

논리 연산자 '&&'는 '그리고(AND)'에 해당하며,

두 피연산자가 모두 true 일 때만

true를 결과로 얻는다. 

두 피연산자가 둘 중 하나라도 false이면

연산 결과도 false이다.

 

집합에서의 교집합과 의미가 같다.

 

 

 

<논리 연산자 ||>

 

논리 연산자 '||'은 '또는(OR)'에 해당하며,

두 피연산자 중 어느 한쪽만 true이어도

true를 결과로 얻는다.

두 피연산자가 모두 flase 일 때

연산 결과도 false이다.

 

집합에서의 합집합과 의미가 같다

 

 

'I'은 한글키보드 엔터 위에 있는

\를 shift 키와 함께 눌렀을 때 입력되는 기호이다.

 

 

 

<논리 부정 연산자>

 

논리 부정 연산자 '!'는 

피연산자가 true면 false를,

false면 true를 결과로 반환한다.

간단히 말해 true와 false를 반대로 바꾸는 것이다.

 

어떤 값에 논리 부정 연산자를 반복적으로 적용하면,

참과 거짓이 차례대로 반복되고

이를 이용해 한번 누르면 켜지고,

다시 한 번 누르면 꺼지는

전원 버튼과 같은 '토글 버튼(toggle button)'을

논리적으로 구현할 수 있다.

 

집합에서의 여집합과 의미가 같다.

 

단항연산자는 결합방향이 오른쪽에서 왼쪽이므로

논리 부정 연산자 '!'도 마찬가지로

피연산자와 가까운 것부터 먼저 연산된다.

boolean b = true;

System.out.println(b);	// true
System.out.println(!b);	// false
System.out.println(!!b);	// true
System.out.println(!!!b);	// false

위 예제에서 !!!b가 평가되는과정은 

!!!true → !!false → !true → false가 된다.

 

 

 

 

 

 

 

자주 사용되는 예제를 연습하면서

논리 연산자가 실제로 어떻게 사용되고

주의해야 할 점은 어떤 것들이 있는지 살펴보자.