Result and timing

산술식은 결과값과 값이 바뀌는 시점을 함께 만든다

전위와 후위 증감 연산자는 최종 변수 값은 같아도, 표현식이 돌려주는 값은 다릅니다.

전위: 바꾸고 사용

int y = ++x;
1 x = 5시작 값
2 ++x로 x를 6으로 변경저장된 값이 먼저 바뀜
3 y에 6 저장표현식 결과도 6
x6
y6

후위: 사용하고 바꿈

int y = x++;
1 x = 5시작 값
2 현재 값 5를 먼저 사용표현식 결과는 아직 5
3 그 뒤 x를 6으로 변경저장된 값만 나중에 증가
x6
y5
단항 +, - +num은 값을 그대로 사용하고, -num은 부호를 반전한 새 값을 만듭니다.
단독 증가라면 ++x;x++; 모두 최종적으로 x를 1 증가시킵니다.

다른 연산과 섞일 때는 “표현식이 돌려주는 값”과 “변수에 남는 값”을 분리해서 읽어야 합니다.