증감 연산자
증감 연산자는 말 그대로 값을 증가시키거나 감소시키는 연산자이다.
증가의 종류에는
선 증가와 후 증가가 있고 두개 모두 1을 증가시켜준다.
감소의 종류도 마찬가지로
선 감소와 후 감소가 있고 두개 모두 1을 감소해준다.
예를 들어 a라는 값을 3으로 지정하고 선 증가를 하면
4라는 값이 나온다. 이 값은 후 증가를 해도 마찬가지다.
ex) a=3
a++=4
++a=4
값이 같음에도 불구하고 선 증가와 후 증가로 구분하는 이유는 선 증가는 먼저 연산을 한 뒤 값을 저장하고
후 증가는 먼저 값을 저장한뒤 연산을 실행한다. 이는 밑에 예제로 설명할 수 있다.
감소는 1을 감소한다는 점만 제외하면 증가 연산과 동일하므로 제외하도록 한다.
사용한 코드는 다음과 같다.
public class Increment {
public static void main(String[] args) {
int a,b,c;
a=1;
b=++a;
c=a++;
System.out.println("선 증가 b:"+b);
System.out.println("후 증가 c:"+c);
}
}
'b'값은 'a'를 선 증가 한 값이므로 증가시킨 뒤 바로 'b'값에 저장한다.
'c'값은 'a' 를 후 증가 한 값이므로 일단 'a'값을 'c'값에 저장한 뒤 'c'값을 증가.
출력 화면을 보면
b값은 2가 나오고 b값은 선 증가를 통해 1+1=2 가 출력된 모습 이 시점에서 'a=2가 됐다'
c값 또한 2가 나오는데 c값은 후 증가를 통해 a=2값을 먼저 c에 저장시키고 a값에 1을 더했다.
그렇기에 최종 값은 3이지만 후 증가이기 때문에 2로 출력된다.