학습 log (이론)/java

'전위(++i) 후위(i++) 증감연산자' 필수상식

abbear25 2016. 12. 23. 01:16

전위 증감 연산자(++i, --i)

기존에 선언한 변수에 값을 증가 또는 감소시킨 후 반환

i = i + 1;

return i;

코드: int i = 1; int j = ++i;

결과: i = 2, j = 2


후위 증감 연산자(i++, i--)

새로운 임시 변수에 값을 대입한 뒤에 증가 또는 감소시킨 후 반환

const int temp = i;

i = i + 1;

return temp;

코드: int i = 1; int j = i++;

결과: i = 2, j = 1


컴파일러에 의한 최적화를 하지 않은 경우 전위 증감 연산자를 사용하면 성능이 좋아질 수 있음

*연산자 오버로딩으로 증감 연산자를 만든 경우 후위 증감연산자는 클래스를 복사해야함

따라서 후위, 전위 둘다 사용해도 되는 경우( for문 'o', while문 'x' )에는 전위 증감 연산자를 사용

*for문의 경우엔 초기값을 셋팅하고 조건을 비교한 후 내부로직을 실행하고 나서 값 증가시킴


반응형