티스토리 뷰
▶▶ 논리 연산자 ( & && | || ! ^ )
& — 앰퍼센트
| — 버티컬바
– 두 피연산자간의 논리적인 판별을 수행하는 연산자.
– 피연산자는 모두 boolean타입 데이터(true,false)만 사용 가능하며, 결과값도 boolean타입으로 리턴.
1. AND 연산자
2. OR 연산자
3. NOT 연산자
4. XOR 연산자
▶ AND 연산자 ( & 또는 && ) — 논리곱
– 이항연산자 (피연산자가 왼쪽에 하나 오른쪽에 하나 총 두개라서 이항연산자)
– 두 피연산자가 모두 true일 경우에만 결과값이 true이고, 하나라도 false일 경우 결과값이 false
– 그리고, ~~이고 등의 접속사에 해당하는 의미, 주로 A~B사이의 범위를 판별하는데 사용됨.
ex ) A가 5보다 크'고' 10보다 작다
– 사실상 AND연산자는 하나라도 flase이 있으면 무조건 flase이므로,
첫번째 조건이 false면 두번째 조건은 볼 필요도 없이 false임.
그러므로 &&를 사용하면 첫번째 조건이 flase일 경우, 바로 flase 결과값을 리턴함 (편리)
EX1 )


EX2 ) 대소 관계 확인
int num = 1; System.out.println(num > 5); // num이 5보다 큰 가? false System.out.println(num < 10); // num이 10보다 작은가? true
→ 관계 연산자와 결합하여 대소 관계에 대한 논리적인 판별 확인 가능.
→ 두 가지 관계연산을 각각 적용할 경우, 각 연산자에 대한 결과만 판별함.
두 가지 관계연산을 하나로 결합하여 적용한다면?
System.out.println(num > 5 && num < 10);
→ num이 5보다 크고, 10보다 작은가?라고 말로 풀어 보았을 때, '~이고','그리고' 등의 의미는 AND연산자 사용하여 결합.
✓ num>5 결과는 false, num<10 결과는 true, 논리곱은 한 조건이라도 false라면 결과는 무조건 false.
▶ OR 연산자 ( | 또는 || ) — 논리합
– 두 피연산자가 하나라도 true일 경우, 결과값이 true이고, 둘 다 false일 때만 결과값이 false.
– 또는, ~이거나 등의 접속사에 해당하는 의미, 주로 A조건 또는 B조건 중 하나라도 만족하는 조건을 판별하는데 사용.
ex ) A가 0보다 작'거나' 100보다 크다
– 사실상 OR연산자는 하나라도 true가 있으면 무조건 참, 첫번째 조건이 true면 두번째 조건은 볼 필요도 없이 true임.
그러므로 ||를 사용하면 첫번째 조건이 true일 경우, 바로 true 결과값을 리턴함 (편리)
EX )


EX2 ) 대소 관계 확인
num이 0보다 작'거나' 100보다 큰 가?
int num = 1; System.out.println(num < 0 || num > 100);
→ ~~이거나, 또는 등의 의미는 OR연산자 || 사용하여 결합함.
✓ 결과값 false가 출력됨.
▶ NOT 연산자 ( ! ) — 논리 부정
– 단항연산자(피연산자가 1개)로 피연산자 앞에 '!' 기호를 붙임.
– 현재 boolean값을 반대로 반전 (현재 상태 반전)
ex ) !true = false, !false = true
EX )


EX2 )
int num = 150; System.out.println(!(num < 0 || num > 100)); System.out.println(num >= 0 && num <= 100);
→ NOT연산자(!)는 현재 조건을 만족하는가 판별
→ num이 0보다 작거나 100보다 큰 수가 '아닌가?'
→ num이 0보다 크거나 같고 100보다 작거나 같은 수가 '아닌가?'
✓ 두 출력문 모두 결과값 false가 출력됨.
▶ XOR 연산자( ^ ) — 배타적 논리합 (exclusive OR)
– 두 피연산자가 서로 다를 경우 결과값이 true이고, 서로 같을 경우 결과값이 false.
– 평소에는 거의 쓸 일 없음, 특수한 경우에만 사용함.
– 같으면 False, 다르면 True
EX )


comment

연산자는..무슨 종류가 이리 많지? ??
파도 파도 끝이 없는 연산자... 파도같은 밀물마냥 내게 밀려오는구나...^^
'JAVA' 카테고리의 다른 글
삼항 연산자 (조건 연산자) (0) | 2023.02.06 |
---|---|
증감 연산자 (선행 연산자 & 후행 연산자) (0) | 2023.02.05 |
대입 연산자 / 확장 대입 연산자 / 비교(관계) 연산자 (0) | 2023.02.03 |
산술 연산자 / 연결 연산자 (0) | 2023.02.02 |
JAVA 데이터 타입 간의 형 변환 (타입 변환) (0) | 2023.02.02 |
- Total
- Today
- Yesterday
- null
- 단일행함수
- github
- Method
- 인자
- jsp
- 다형성
- Dao
- Git
- 숫자형
- JSTL
- 출력문
- DB
- 오버라이딩
- Object
- 데이터타입
- 매개변수
- mysql
- 제어문
- 문자형
- 주석문
- Java
- model2
- 논리형
- javascript
- 업캐스팅
- 내장객체
- gitbash
- 로컬저장소
- 원격저장소
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |