연산자는 데이터를 계산하거나 비교, 논리 판단 등을 수행하기 위해 사용하는 기호이다.
산술 연산자는 숫자 값을 계산할 때 사용한다.
| 연산자 | 설명 | 예시 |
|---|---|---|
+ | 덧셈 | 10 + 5 → 15 |
- | 뺄셈 | 10 - 5 → 5 |
* | 곱셈 | 10 * 5 → 50 |
/ | 나눗셈 | 10 / 5 → 2 |
% | 나머지 | 10 % 3 → 1 |
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3
System.out.println(a % b); // 1
두 값을 비교하여 true 또는 false를 반환한다.
| 연산자 | 설명 |
|---|---|
< | 작다 |
> | 크다 |
<= | 작거나 같다 |
>= | 크거나 같다 |
== | 같다 |
!= | 같지 않다 |
int a = 10;
int b = 20;
System.out.println(a < b); // true
System.out.println(a == b); // false
System.out.println(a != b); // true
여러 조건을 함께 비교할 때 사용한다.
&&)두 조건이 모두 true일 때만 true
| A | B | 결과 |
|---|---|---|
| true | true | true |
| true | false | false |
| false | true | false |
| false | false | false |
System.out.println(10 > 5 && 5 > 3); // true
||)둘 중 하나만 true여도 true
| A | B | 결과 |
|---|---|---|
| true | true | true |
| true | false | true |
| false | true | true |
| false | false | false |
System.out.println(10 > 5 || 5 < 3); // true
!)논리값을 반대로 바꾼다.
boolean check = true;
System.out.println(!check); // false
참고
&&,||: 논리 연산자(주로 사용)&,|: 비트 연산자이면서 boolean에서도 사용 가능하지만, 모든 조건을 끝까지 검사한다.
변수의 값을 1 증가 또는 감소시킨다.
| 연산자 | 설명 |
|---|---|
++ | 1 증가 |
-- | 1 감소 |
int num = 10;
num++;
System.out.println(num); // 11
num--;
System.out.println(num); // 10
int a = 10;
System.out.println(++a); // 11 (먼저 증가)
System.out.println(a++); // 11 (출력 후 증가)
System.out.println(a); // 12
비트를 기준으로 계산하는 연산자이다.
| 연산자 | 설명 |
|---|---|
& | 비트 AND |
\| | 비트 OR |
^ | 비트 XOR |
~ | 비트 NOT |
<< | 왼쪽 시프트 |
>> | 오른쪽 시프트 |
>>> | 부호 없는 오른쪽 시프트 |
예시
System.out.println(5 & 3); // 1
System.out.println(5 | 3); // 7
변수에 값을 저장하거나 계산한 결과를 다시 저장한다.
| 연산자 | 의미 |
|---|---|
= | 대입 |
+= | 더한 후 저장 |
-= | 뺀 후 저장 |
*= | 곱한 후 저장 |
/= | 나눈 후 저장 |
%= | 나머지 저장 |
int num = 10;
num += 5; // 15
num -= 3; // 12
num *= 2; // 24
조건에 따라 두 가지 결과 중 하나를 선택한다.
조건 ? 처리1 : 처리2
처리1처리2int score = 80;
String result = score >= 60 ? "합격" : "불합격";
System.out.println(result); // 합격
| 순위 | 연산자 | 설명 | 결합 방향 | ||
|---|---|---|---|---|---|
| 1 | (), [], . | 괄호, 배열 접근, 멤버 접근 | 왼쪽 → 오른쪽 | ||
| 2 | ++, --, +, -, !, ~ | 단항 연산자 | 오른쪽 → 왼쪽 | ||
| 3 | *, /, % | 곱셈, 나눗셈, 나머지 | 왼쪽 → 오른쪽 | ||
| 4 | +, - | 덧셈, 뺄셈 | 왼쪽 → 오른쪽 | ||
| 5 | <<, >>, >>> | 시프트 연산자 | 왼쪽 → 오른쪽 | ||
| 6 | <, <=, >, >=, instanceof | 비교 연산자 | 왼쪽 → 오른쪽 | ||
| 7 | ==, != | 등가 연산자 | 왼쪽 → 오른쪽 | ||
| 8 | & | 비트 AND | 왼쪽 → 오른쪽 | ||
| 9 | ^ | 비트 XOR | 왼쪽 → 오른쪽 | ||
| 10 | ` | ` | 비트 OR | 왼쪽 → 오른쪽 | |
| 11 | && | 논리 AND | 왼쪽 → 오른쪽 | ||
| 12 | ` | ` | 논리 OR | 왼쪽 → 오른쪽 | |
| 13 | ?: | 삼항 연산자 | 오른쪽 → 왼쪽 | ||
| 14 | =, +=, -=, *=, /=, %= | 대입 연산자 | 오른쪽 → 왼쪽 |
&&는 둘 다 참, ||는 하나만 참이면 참이다.!는 논리값을 반대로 바꾼다.++와 --는 값을 1씩 증가·감소시킨다.조건 ? 참 : 거짓 형태이다.()를 사용하는 것이 가장 안전하다.