Img profile default
최재영
  • 2016.5.25 13:08
  • 조회수 148
  • 답변수 1
Img profile default
최재영
  • 2016.5.25 13:08
  • 조회수 148
  • 답변수 1

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

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

    System.out.println(a);

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

  • #자바 입문
  • #연산자우선순위

1 답변

  • G3rlasealonpd5c2kica
    Demi
    • 2016.5.27 08:47

    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)을 전달

답변 쓰기

이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.