증감 연산
증감 연산자(++, --)는 단항 연산자로 자신의 값을 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
'프로그래밍 기술 > 안드로이드' 카테고리의 다른 글
[안드로이드] 27. Java 선택문 (0) | 2016.04.17 |
---|---|
[안드로이드] 26. Java 조건문 (0) | 2016.04.17 |
[안드로이드] 25. Java 제어문 (0) | 2016.04.17 |
[안드로이드] 24. Java - 키보드 입력 (0) | 2016.04.16 |
[안드로이드] 23. Java - 조건 연산 (0) | 2016.04.16 |
[안드로이드] 21. Java - 대입 연산 (0) | 2016.04.16 |
[안드로이드] 20. Java - 쉬프트 연산 (0) | 2016.04.16 |
[안드로이드] 19. Java - 비트 연산 (0) | 2016.04.16 |
[안드로이드] 18. Java - 논리 연산 (0) | 2016.04.16 |
[안드로이드] 17. Java - 비교 연산 (0) | 2016.04.16 |