Mingyu Kim

연산의 방향과 우선순위

1. 연산자 우선순위 일람표

위에서 아래로 갈수록 우선순위가 낮아진다.

순위 연산자 종류 연산자 연산 방향
1 증감, 부호, 비트 반전, 논리 부정 ++, --, +, -, ~, !
2 산술 (곱셈 계열) *, /, %
3 산술 (덧셈 계열) +, -
4 쉬프트 <<, >>, >>>
5 비교 <, >, <=, >=, instanceof
6 동등 비교 ==, !=
7 비트 논리 &, ^, \|
8 논리 (AND) &&
9 논리 (OR) \|\|
10 삼항 연산 ? :
11 대입 =, +=, -=, *=, 등

2. 핵심 규칙 3가지

산술 > 비교 > 논리 > 대입

계산을 먼저 하고, 그 결과를 비교한 뒤, 논리적으로 묶고, 마지막에 변수에 담는다.

단항 > 이항 > 삼항

피연산자 개수가 적은 연산자가 대체로 우선순위가 높다. (++xx + y보다 빠름)

결합 방향 (Associativity)

우선순위가 같은 연산자들끼리 있을 때의 규칙

3. 실무 팁: 괄호 () 사용

모든 우선순위를 외우는 것보다 우선 계산되어야 하는 부분을 괄호()로 묶는 것이 좋은 방법이다.

// 가독성이 떨어지고 실수의 위험이 있는 코드
boolean result = a + b < c && d > e || f == g;

// 괄호를 사용하여 의도를 명확히 한 코드
boolean result = (((a + b) < c) && (d > e)) || (f == g);

4. 요약 및 체크포인트