- 산술 > 비교 > 논리 > 대입. 대입은 제일 마지막에 수행된다.
- 단항(1) > 이항(2) > 삼항(3). 단항 연산자의 우선순위가 이항 연산자보다 높다.
- 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
| 종류 | 결합규칙 | 연산자 | 우선순위 |
|---|---|---|---|
| 단항 연산자 | ◀──── | ++ -- + - ~ ! (type) | 높음 |
| 산술 연산자 | ────▶ | * / % | |
| ────▶ | + - | ||
| ────▶ | << >> | ||
| 비교 연산자 | ────▶ | < > <= >= instanceof | |
| ────▶ | == != | ||
| 산술 연산자 | ────▶ | & | |
| ────▶ | ^ | ||
| ────▶ | | | ||
| ────▶ | && | ||
| ────▶ | || | ||
| 삼항 연산자 | ────▶ | ?: | |
| 대입 연산자 | ◀──── | = += -= *= /= %= <<= >>= &= ^= |= | 낮음 |
두 피연산자의 타입을 같게 일치시킨다. (보다 큰 타입으로 일치)
long + int -> long + long -> long
float + int -> float + float -> float
double + float -> double + double -> double
피연산자의 타입이 int보다 작은 타입이면 int로 변환된다.
byte + short -> int + int -> int
char + short -> int + int -> int