Search

논리 연산자

논리 연산자 && || !

|| (OR 결합) 피연산자 중 어느 한쪽만 true면, true 결과 반환 && (AND 결합) 피연산자 중 모두 ture여야, true 결과 반환
논리 연산자의 사용 예
// x는 20보다 크고, 10보다 작다. x > 20 && x < 10 // i는 3의 배수 또는 5의 배수다. i % 3 == 0 || i % 5 == 0 // i는 2의 배수 또는 3의 배수지만 6의 배수는 아니다. (i % 2 == 0 || i % 3 == 0) && i % 6 != 0 // 문자 ch는 숫자('0'~'9')다. '0' <= ch && ch <= '9' // 문자 ch는 대문자 또는 소문자다. ('a' <= ch && ch <= 'z') || ('A' <= ch && ch <= 'Z')
Java
OperatorEx24.java
OperatorEx25.java

효율적인 연산 (short circuit evaluation)

||(OR)의 경우, 좌측 피연산자가 true면 우측 피연산자의 값을 평가하지 않음.
→ true 확률이 높은 피연산자를 좌측에 두면 더 빠른 연산이 가능
&&(AND)의 경우, 좌측 피연산자가 false면 우측 피연산자의 값을 평가하지 않음.
→ false 확률이 높은 피연산자를 좌측에 두면 더 빠른 연산이 가능
OperatorEx26.java

논리 부정 연산자 !

결과 값을 그 반대로 반환하는 연산자
truefalse
falsetrue
주로 조건문반복문조건식에 많이 사용됨.
// 문자 ch는 소문자가 아니다. ch < 'a' || ch > 'z' // 보다 이해가 쉽게 바꿀 수 있음. !('a' <= ch && ch <= 'z')
Java
OperatorEx27.java

참고 자료