프로그래밍 기술/안드로이드

[안드로이드] 22. Java - 증감 연산

언제나휴일 2016. 4. 16. 20:03
반응형

증감 연산


증감 연산자(++, --)는 단항 연산자로 자신의 값을 1을 증가하거나 감소하는 연산입니다.
 
증감 연산자도 대입 연산처럼 설정하는 연산이므로 피연산자로 상수는 올 수 없습니다.
따라서 (i+3)++; 과 같은 표현은 문법적 오류가 있는 표현입니다.
 
증감 연산자는 피연산자 앞에도 올 수 있고 뒤에도 올 수 있습니다.
연산 기호가 피연산자 앞에 오든 뒤에 오든 자기 자신의 값을 1 증가 혹은 감소하는 것은 마찬가지입니다.
하지만 연산 결과에서는 차이를 갖습니다.
 
만약 연산 기호가 피연산자 앞에 오면 연산 결과는 연산을 수행하고 난 후의 자기 자신입니다.
예를 들어 i 변수의 값이 3일 때 re = ++i;을 수행하면 i 1 증가한 4이며 연산 결과도 4이므로 re 값도 4입니다.
 
하지만 연산 기호가 피연산자 뒤에 오면 연산 결과는 연산을 수행하기 전의 값입니다.
예를 들어 i 변수의 값이 3일 때 re = i++;을 수행하면 i 1 증가한 4이며 연산 결과는 수행 전의 값이 3입니다.
따라서 re의 값은 3으로 설정합니다.
 
private static void exIncDecrement() {
    int i = 0;
    int re = 0;
    //(i+3)++; (i+3)의 연산 결과는 상수이므로 증감연산자의 피연산로 올 수 없음
   
i=3;
    re = ++i;
    System.out.println("re:"+re + ", i:"+i);
    i = 3;
    re = i++;
    System.out.println("re:"+re + ", i:"+i);
}

실행 결과
re:4, i:4
re:3, i:4

반응형