int a=0;

a++

System.out.println(a);

이러면 a값은 당연히 1이다.

이유는 a++ 을 풀어서 얘기하자면 a = a+1;

이기 때문이다. 절대 a+1이 아니라는 것의 명심하자

그래서 한가지 재밌는것은

a = a++;
이라고 정의했을때 이 값을 찍어보면 0이 나온다. 변수대입이 먼저 이루어지고 ++연산이 일어나기 때문이다.

하지만 a = ++a;
인 경우에는 1이다. ++연산이 이루어지고 변수를 대입하기 때문이다.

가끔 이런 기초적인 것을 잊는 경우가 있으니 햇갈리지 말도록.

 

Posted by 오달봉
,