최재영

a++ 증감연사자 계산순서가 이해가 잘안되네요

System.out.println(a++ - 5);

    System.out.println(a);

a가 왜 6이 되는지가 강의를 들어도 이해가 안되서요
++a , a++ 계산순서가 대충은 이해가 되는데 자세히는 이해가 안되네요

1 개의 답변
a = 5
System.out.println(a++ - 5);
System.out.println(a);

여기서 왜 0 6이 출력되는지 궁금하신건가요?

System.out.println(a++ -5)의 연산 순서는 다음과 같이 생각할 수 있습니다.

  1. a-5 수행 -> 이때 a는 5이므로 0으로 계산됩니다
  2. System.out.pinrlnt()에게 1의 값(0)을 전달
  3. a++가 수행 -> a는 6이됩니다

반면에 System.out.println(++a -5)의 연산 순서는 다음과 같이 생각할 수 있습니다

  1. ++a 수행 -> a는 6이됩니다
  2. a-5 수행 -> 결과는 1이됩니다(6-5)
  3. System.out.pinrlnt()에게 2의 값(1)을 전달
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.