[Java] Java 연산자 완벽 정리: 산술, 비교, 논리, 삼항, 비트 연산자까지 한눈에!

앞서 포스팅에서 변수와 자료형을 배웠다면, 이제 이 값들로 계산하고 판단할 수 있어야 하겠죠?

바로 그걸 가능하게 해 주는 게 연산자(Operator)입니다.


 1. 산술 연산자(Arthmetic Operators)

숫자 간의 사칙 연산을 수행하는 기본 연산자입니다.

연산자 의미 예시 (int a = 10, b = 3) 결과
+ 덧셈 a + b 13
- 뺄셈 a - b 7
* 곱셈 a * b 30
/ 나눗셈 a / b 3
% 나머지 a % b 1
⚠️ /는 정수 나눗셈 시 소수점 이하가 잘립니다. 10 / 3 = 3
소수점을 원하면 double 또는 float 자료형을 사용해야 합니다.

 

2. 비교 연산자 (Relational Operators)

두 값의 크기나 동일성 여부를 비교하고, true 또는 false를 반환합니다.

연산자 의미 예시 (a = 10, b = 3) 결과
== 같다 a == b false
!= 다르다 a != b true
> 크다 a > b true
< 작다 a < b false
>= 크거나 같다 a >= b true
<= 작거나 같다 a <= b false
💡 ==는 숫자 비교에는 괜찮지만, 문자열 비교에는 equals()를 사용해야 합니다.

 

3. 논리 연산자 (Logical Operators)

boolean 값을 대상으로 연산하여 조건 판단에 사용됩니다.

연산자 의미 예시 (x = true, y = false) 결과
&& 논리 AND x && y false
|| 논리 OR x || y true
! 논리 NOT (부정) !x false
⚠️ &&와 ||는 단축 평가(short-circuit)가 적용됩니다. 앞쪽 결과만으로 결과가 확정되면, 뒤쪽은 계산하지 않습니다.
예를 들어, &&인 경우 앞쪽이 false이면 결과가 적용되고, ||인 경우 앞쪽이 true이면 결과가 확정됩니다.

 

4. 대입 연산자 (Assignment Operators)

변수에 값을 저장하거나 조작된 결과를 재할당하는 데 사용합니다.

연산자 의미 예시 동등한 표현
= 값 할당 a = 5  
+= 덧셈 후 대입 a += 3 a = a + 3
-= 뺄셈 후 대입 a -= 2 a = a - 2
*= 곱셈 후 대입 a *= 4 a = a * 4
/= 나눗셈 후 대입 a /= 2 a = a / 2
%= 나머지 후 대입 a %= 3 a = a % 3

 

5. 증감 연산자 (Increment / Decrement)

변수의 값을 1씩 증가 또는 감소시킵니다.

연산자 의미 예시 (int a= 5) 결과
++ 1 증가 a++ 또는 ++a 6
-- 1 감소 a-- 또는 --a 4
🔍 전위형 (++a)은 증가 → 사용, 후위형 (a++)은 사용 → 증가

 

6. 삼항 연산자 (Ternary Operator)

조건에 따라 두 값을 선택하는 축약된 if-else 문입니다. if-else는 조건문입니다. 뒤에서 자세히 다루도록 하겠습니다.

// 조건식 ? 값1 : 값2;

int score = 80;
String result = (score >= 70) ? "합격" : "불합격";
System.out.println(result); // "합격"

 

7. 비트 연산자 (Bitwise Operators)

정수형 값의 이진수 비트 단위로 연산을 수행합니다. 즉, 우리가 흔히 쓰는 10진수 숫자를 이진수로 바꾸고, 그 비트 단위로 AND, OR, XOR, SHIFT 같은 연산을 수행하는 거예요.

연산자 의미 예시 (8비트 기준, a = 5, b = 3) 결과
& 비트 AND: 두 비트가 모두 1이면 1 a & b (101 & 011) 1
| 비트 OR: 두 비트 중 하나가 1이면 1 a | b (101 | 011) 7
^ 비트 XOR: 두 비트가 서로 다르면 1 a ^ b (101 ^ 011) 6
~ 비트 NOT: 1을 0으로, 0을 1로 반전 ~a (~00000101 = 11111010) -6
<< 왼쪽 시프트: 비트를 왼쪽으로 밀기 (2배씩 증가) a << 1 (00001010) 10
>> 오른쪽 시프트: 비트를 오른쪽으로 밀기 (2로 나누기) a >> 1 (00000010) 2
💡 비트 연산은 정수 최적화, 마스크 처리, 플래그 제어 등에 사용됩니다.

 

8. 연산자 우선순위 요약

자바는 여러 연산자가 함께 등장했을 때 우선순위에 따라 계산 순서가 정해집니다.

우선순위 연산자 설명
1 (), [], . 괄호, 배열, 참조
2 ++, --, !, ~ 단항 연산자
3 *, /, % 곱셈, 나눗셈, 나머지
4 +, - 덧셈, 뺄셈
5 <<, >>, >>> 비트 시프트
6 <, >, <=, >= 비교 연산자
7 ==, != 동일성 비교
8 &, ^, |, ~ 비트 연산자
9 &&, || ! 논리 연산자
10 ? : 삼항 연산자
11 =, +=, -=, … 대입 연산자