논리 연산자 (logical operator)
▶ 논리 연산자 (logical operator)
※ logical : 논리적인, 타당한
- 논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자입니다.
- AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다.
- NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다.
- 논리 연산자에 대한 표
논리 연산자 | 설명 |
&& | 논리식이 모두 참이면 참을 반환합니다. (논리 AND 연산) |
|| | 논리식 중에서 하나라도 참이면 참을 반환합니다. (논리 OR 연산) |
! | 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환합니다. (논리 NOT 연산) |
- 논리 연산자의 모든 동작의 결과를 보여주는 진리표(truth table)입니다.
A | B | A && B | A || B | !A |
true | true | true | true | false |
true | false | false | true | false |
false | true | false | true | true |
false | false | false | false | true |
- 논리 연산의 예시 (char형 문자끼리도 그 크기를 서로 비교할 수 있습니다.)
public class Logical{
public static void main(String[] args){
char ch1='b', ch2='B';
boolean result1, result2;
result1 = (ch1>'a') && (ch2<'z');
result2 = (ch2<'A') || (ch2<'Z');
System.out.println("&& 연산자에 의한 결과 : " + result1);
System.out.println("|| 연산자에 의한 결과 : " + result2);
System.out.println("! 연산자에 의한 결과 : " + !result2);
}
}
---------------------------------------------------------------------
&& 연산자에 의한 결과 : true
|| 연산자에 의한 결과 : true
! 연산자에 의한 결과 : false
- 각 결과에서 진행되는 연산을 설명드리겠습니다. (ASCII 코드 - dec)
char ch1='b' -> 98 , ch2='B' -> 66 입니다.
result1 = (ch1 > 'a') && (ch2 < 'z') -> result1 = (98 > 97) && (66 < 122) -> 참 &&(AND) 참 -> 참
reuslt2 = (ch2 < 'A') || (ch2 < 'Z') -> result2 = (66 < 65) || (66 < 90) -> 거짓 ||(OR) 참 -> 참
!result2 = !(NOT)참 -> 거짓
-위와 같이 연산이 진행이 되고 참과 거짓이 출력이 되는 것입니다.
'Programing > JAVA' 카테고리의 다른 글
Java Operator (삼항 연산자) (0) | 2021.07.19 |
---|---|
Java Operator (비트 연산자) (0) | 2021.07.19 |
Java Operator (비교 연산자) (0) | 2021.07.19 |
Java Operator (증감 연산자) (0) | 2021.07.19 |
Java Operator (대입 연산자) (0) | 2021.07.19 |