논리 연산자, 논리 부정 연산자
논리 연산자 && ||
- 조건식을 연결할 때 사용하는 연산자
|| (OR결합) - 피연산자 중 어느 한 쪽이 true이면 true를 결과로 얻는다.
&& (AND결합) - 피연산자 양쪽 모두 true이어야 true를 결과로 얻는다.
OR결합은 x랑 y중 어느 하나만 참이어도 결과가 전부 참이다.
근데, AND결합은 둘다 참일때만 참이고, 나머지는 전부 거짓이다.
예시를 보자.
[예시 1]
보통은 변수를 왼쪽에 쓰지만 가독성을 고려하여 식 조건에 맞게 자유롭게 작성하면 된다.
[예시 2]
2의 배수는 2로 나누었을때 나머지가 0인 것이고, 3의 배수는 3으로 나누었을때 나머지가 0인 것이다.
[예시3]
한 식에 AND와 OR가 같이 들어가는 경우에는 괄호를 사용해서 우선순위를 지정해주는 것이 좋다.
[예시 4]
문자 ch 가 숫자인지 확인하려면, ch가 '0'과 '9'사이에 있는지 보면 된다.
왜냐하면, 유니코드 표에서 문자'0'~'9'까지 연속적이기 때문이다.
[예시 5]
ch가 대문자 또는 소문자인지 확인하는 방법은,
'a' 부터 'z'까지, 그리고 'A'부터 'Z'까지도 연속적으로 배치되어 있으므로 이들 사이에 있는지 확인하면 된다.
논리 부정 연산자 !
- true를 false로, false는 true로 바꾼다.
예를 들어서,
이 예시처럼 논리 부정 연산자 두개가 붙어있으면, 연산 진행방향은,
대입 연산자와 단항 연산자는 연산방향이 오른쪽에서 왼쪽이므로,
안쪽의 !가 먼저 수행되고, 그다음 바깥쪽 !가 수행된다.
만약에 문자 ch가 소문자가 아니다. 라는 명제를 코드로 적으면,
왼쪽과 같이 적을 수 있다.
그치만, 이럴 때에는, 오른쪽 처럼 논리 부정 연산자를 이용해서 오른쪽 처럼 적는 것이 더 가독성이 좋다.(소문자가 아니다 라고 표현)
'JAVA' 카테고리의 다른 글
조건문 if문과 if-else문 (0) | 2022.03.17 |
---|---|
조건 연산자, 대입 연산자 (0) | 2022.03.17 |
비교 연산자, 문자열의 비교 (0) | 2022.03.16 |
반올림 Math.round(), 나머지 연산자 (0) | 2022.03.16 |
사칙 연산자, 산술변환 (0) | 2022.03.16 |
댓글
이 글 공유하기
다른 글
-
조건문 if문과 if-else문
조건문 if문과 if-else문
2022.03.17 -
조건 연산자, 대입 연산자
조건 연산자, 대입 연산자
2022.03.17 -
비교 연산자, 문자열의 비교
비교 연산자, 문자열의 비교
2022.03.16 -
반올림 Math.round(), 나머지 연산자
반올림 Math.round(), 나머지 연산자
2022.03.16