연산자 우선순위

연산자 결합 규칙

컴파일러는 정해진 규칙으로 수식을 묶지만, 사람에게는 괄호가 가장 강한 설명 도구입니다.

우선순위

연산자 결합 우선순위

*와 /는 +와 -보다 먼저 묶이므로 산술식 결과가 달라집니다.

a + b * c
결합

같은 단계의 묶는 방향

대입은 오른쪽에서 왼쪽으로 결합하고 대부분 산술 연산은 왼쪽에서 오른쪽으로 결합합니다.

a = b = c
괄호

의도적인 묶음

헷갈리는 수식은 괄호로 계산 단계를 드러내면 오류와 오해를 줄입니다.

(a + b) * c
변환

연산 중 타입 조정

우선순위가 묶는 순서를 정하고 형변환은 각 단계의 값 해석을 바꿉니다.

int + double
논리식&&가 ||보다 먼저 묶이므로 복합 조건은 괄호로 업무 규칙을 드러내야 평가 순서를 추측하지 않습니다.
비트식비트 연산과 비교 연산을 섞을 때는 마스크 검사를 괄호로 감쌉니다.
대입식대입의 결과값을 다시 쓰는 코드는 짧지만 실수하기 쉬워 분리하는 편이 명확합니다.