종류 |
연산자 |
설명 |
산술 연산자 |
+ - * / % << >> |
사칙연산 및 나머지 연산(%) |
비교 연산자 |
> < ≥ ≤ == ≠ |
크고 작음과 같고 다름을 비교 |
논리 연산자 |
$$ |
|
대입 연산자 |
= |
우변 값을 좌변에 저장 |
기타 |
(type) ?: instanceof |
형변환 연산자, 삼항 연산자, instanceof 연산자 |
연산자 우선순위
- 한개 식에 연산자 둘 이상일 경우 어떤 연산을 먼저할지 자동 결정 (괄호를 쳐서 설정하는것은 수동 설정)
종류 |
결합규칙 |
연산자 |
우선순위 |
단항 연산자 |
← |
++ — + |
높음 |
산술 연산자 |
→ |
* / % |
|
|
→ |
+ - |
|
|
→ |
<< >> |
|
비교 연산자 |
→ |
< > ≤ ≥ instanceof |
|
|
→ |
== ≠ |
|
논리 연산자 |
→ |
& |
|
|
→ |
^ |
|
|
→ |
|
|
|
→ |
&& |
|
|
→ |
|
|
삼항 연산자 |
→ |
?: |
|
대입 연산자 |
← |
= += -= *= /= %= <≤ >≥ &= ^= |
= |
- 단항 연산자 예시: 부호 |
|
|
|
- 단항 > 이항 > 삼항 |
|
|
|
- 산술 > 비교 > 논리 > 대입 |
|
|
|
- 산술연산자가 비교연산자보다 먼저 수행 |
|
|
|
- 비교연산자가 논리연산자보다 먼저 수행 |
|
|
|
- 대입연산자는 우선순위 가장 낮음 |
|
|
|
연산자 결합규칙
- 우선순위가 같은 연산자가 있을 때, 어떤 것을 먼저?
- 대입 및 단항 연산자(오른쪽 → 왼쪽)를 제외하면 모두 왼쪽 → 오른쪽
- 모든 연산자는 연산 결과를 반환
증감 연산자
- 증가 연산자: 피연산자 값을 1 증가(++)
- 감소 연산자: 피연산자 값을 1 감소(—)
- 전위형: 값이 참조되기 전 증가
- 후위형: 값이 참조된 후 증가
- 증감 연산자가 독립적으로 사용된 경우 전위, 후위형 차이 없음
j = ++i;
# 같은 식
++i;
j = i;
j = i++;
# 같은 식
j = i;
i++;
부호 연산자
- ‘-’는 피연산자 부호를 반대로 변경
- ‘+’는 아무런 일도 하지 않는다 (실제 사용 안함)