![[자바 #5] 논리 연산자, 비트 논리 연산자, 비트 이동 연산자](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog-custom%3Ftitle%3D%255B%25EC%259E%2590%25EB%25B0%2594%2B%25235%255D%2B%25EB%2585%25BC%25EB%25A6%25AC%2B%25EC%2597%25B0%25EC%2582%25B0%25EC%259E%2590%252C%2B%25EB%25B9%2584%25ED%258A%25B8%2B%25EB%2585%25BC%25EB%25A6%25AC%2B%25EC%2597%25B0%25EC%2582%25B0%25EC%259E%2590%252C%2B%25EB%25B9%2584%25ED%258A%25B8%2B%25EC%259D%25B4%25EB%258F%2599%2B%25EC%2597%25B0%25EC%2582%25B0%25EC%259E%2590%26tag%3DTemplate%2B1%26description%3D%26template%3D3%26backgroundImage%3Dhttps%253A%252F%252Fsource.inblog.dev%252Fog_image%252Fdefault.png%26bgStartColor%3D%25233f0707%26bgEndColor%3D%25233f0707%26textColor%3D%2523000000%26tagColor%3D%2523000000%26descriptionColor%3D%2523000000%26logoUrl%3D%26blogTitle%3DGyeongwon%2527s%2Bblog&w=2048&q=75)
1. 논리연산자
논리 연산자는 논리곱(&&), 논리합(||), 베타적 논리합(^), 논리 부정(!) 연산을 수행한다. 논리 연산은 흐름 제어문인 조건문(if), 반복문(for, while) 등에서 주로 이용된다.
AND(논리곱)
피연산자가 모두가 true일 경우에만 연산 결과가 true
OR(논리합)
피연산자 중 하나만 true이면 연산결과는 true
XOR(배타적 논리합)
피연산자가 하나는 true, 다른 하나가 false일 경우에만 연산결과가 true
NOT(논리 부정)
피연산자의 논리값을 바꿈
2. 비트 논리 연산자
연산자 | 설명 | 예제 (2진수) | 결과 |
& (AND) | 두 비트 모두 1이면 1 | 0101 & 0011 | 0001 |
| (OR) | 두 비트 중 하나만 1이면 | 0101 | 0011 | 0111 |
^ (XOR) | 서로 다르면 1 | 0101 ^ 0011 | 0110 |
~ (NOT) | 비트를 반전 (1→0, 0→1) | ~0101 | 1010 |
3. 비트 이동 연산자
연산자 | 설명 | 특징 |
<< (왼쪽 시프트) | 왼쪽으로 비트 이동, 오른쪽은 0으로 채움 | 곱하기 2 효과 |
>> (오른쪽 시프트) | 오른쪽으로 비트 이동, 왼쪽은 부호 비트 유지 | 나누기 2 효과 (부호 유지) |
>>> (부호 없는 오른쪽 시프트) | 오른쪽 이동, 왼쪽은 무조건 0 채움 | 항상 양수 결과 |
int result = 1 << 3; // 1 -> 1000(2) 8 출력
int result = -8 >> 3; // -1
Share article