순서대로 우선순위가 높다.
우선순위 | 연산자 | 설명 | 결합 방향 |
---|---|---|---|
1 | [ ] | 첨자 연산자 | 왼쪽에서 오른쪽으로 |
. | 멤버 연산자 | 왼쪽에서 오른쪽으로 | |
2 | ++ | 후위 증가 연산자 | 왼쪽에서 오른쪽으로 |
-- | 후위 감소 연산자 | 왼쪽에서 오른쪽으로 | |
3 | ! | 논리 NOT 연산자 | 오른쪽에서 왼쪽으로 |
~ | 비트 NOT 연산자 | 오른쪽에서 왼쪽으로 | |
+ | 양의 부호 (단항 연산자) | 오른쪽에서 왼쪽으로 | |
- | 음의 부호 (단항 연산자) | 오른쪽에서 왼쪽으로 | |
++ | 전위 증가 연산자 | 오른쪽에서 왼쪽으로 | |
-- | 전위 감소 연산자 | 오른쪽에서 왼쪽으로 | |
(타입) | 타입 캐스트 연산자 | 오른쪽에서 왼쪽으로 | |
4 | * | 곱셈 연산자 | 왼쪽에서 오른쪽으로 |
/ | 나눗셈 연산자 | 왼쪽에서 오른쪽으로 | |
% | 나머지 연산자 | 왼쪽에서 오른쪽으로 | |
5 | + | 덧셈 연산자 (이항 연산자) | 왼쪽에서 오른쪽으로 |
- | 뺄셈 연산자 (이항 연산자) | 왼쪽에서 오른쪽으로 | |
6 | << | 비트 왼쪽 시프트 연산자 | 왼쪽에서 오른쪽으로 |
>> | 부호 비트를 확장하면서 비트 오른쪽 시프트 | 왼쪽에서 오른쪽으로 | |
>>> | 부호 비트까지 모두 비트 오른쪽 시프트 | 왼쪽에서 오른쪽으로 | |
7 | < | 관계 연산자(보다 작은) | 왼쪽에서 오른쪽으로 |
<= | 관계 연산자(보다 작거나 같은) | 왼쪽에서 오른쪽으로 | |
> | 관계 연산자(보다 큰) | 왼쪽에서 오른쪽으로 | |
>= | 관계 연산자(보다 크거나 같은) | 왼쪽에서 오른쪽으로 | |
instanceof | 인스턴스의 실제 타입 반환 | 왼쪽에서 오른쪽으로 | |
8 | == | 관계 연산자(와 같은) | 왼쪽에서 오른쪽으로 |
!= | 관계 연산자(와 같지 않은) | 왼쪽에서 오른쪽으로 | |
9 | & | 비트 AND 연산자 | 왼쪽에서 오른쪽으로 |
10 | ^ | 비트 XOR 연산자 | 왼쪽에서 오른쪽으로 |
11 | l | 비트 OR 연산자 왼쪽에서 오른쪽으로 | |
12 | && | 논리 AND 연산자 | 왼쪽에서 오른쪽으로 |
13 | ll | 논리 OR 연산자 | 왼쪽에서 오른쪽으로 |
14 | ? : | 삼항 조건 연산자 | 오른쪽에서 왼쪽으로 |
15 | = | 대입 연산자 및 복합 대입 연산자(=, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, | =) |
: 피연산자를 1씩 증가 혹은 감소시킬 때 사용하는 연산자
위치에 따라 전위와 후위로 나뉘고 실행값이 달라진다.
증감연산자 | 설명 |
---|---|
++n | 피연산자 값을 1 증가시킨 후 해당 연산 진행시킴 |
n++ | 해당 연산 수행한 후 피연산자의 값을 1 증가시킴 |
--n | 피연산자의 값을 1 감소시킨 후 해당 연산 진행시킴 |
n-- | 해당 연산 수행 후 피연산자의 값을 1 감소시킴 |
: 단 하나의 연산자로 연산이 되는 연산자
!, ~, +/-, ++, -- : 부정, bit변환 > 부호 > 증감
: 사칙연산을 다루는 기본적이면서도 가장 많이 사용되는 연산자
*, /, %, +, -, shift < 시프트연산자 ( >>, <<, >>> )
: 피연산자 사이의 상대적인 크기를 판단하는 연산자
<, >, <=, >=, ==, !=
: 논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자
& (둘 다 참이면 참), | (둘 중 하나라도 참이면 참), ~ (반전)
: 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자
&&( 모두 참 ), ||( 하나 참 ), ! ( 거짓이 참 )
: 자바에서 유일하게 피연산자를 세 개나 가지는 조건 연산자
( 조건식 ) ? : 반환값1 : 반환값2
: 변수에 값을 대입할 때 사용하는 이항 연산자
=(왼쪽 피연산자에 오른쪽 피연산자 대입), *=(곱한 후), /=(나눈 후), %=(나머지), +=(더한 후), -=(뺀 후)