삼항 연산자에서 a와 b 값이 이렇게 나오는 이유가 궁금해요

자바 코드에서 `a = 10`, `b = 20`으로 두고 `max = a < b ? ++a : ++b`를 실행하면 max, a, b가 각각 11, 11, 20으로 출력돼요.
조건이 참이라 a가 먼저 증가하고 max에 대입되는 건 이해했는데, a와 b는 어떤 순서로 실행되는 건가요?

댓글 3

  • 보르미 2025.04.01

    `변수 = 조건 ? 참일 때 값 : 거짓일 때 값` 형태를 먼저 이해하셔야 할 것 같아요.

  • 새난 2025.04.01

    혼자 책으로 공부 중이라 아직 개념이 부족하네요 ㅋㅋ 쉽게 설명해 주셔서 감사합니다.

  • YourWay 2025.04.01

    비트 연산자와는 조금 다른 내용이에요.
    a가 b보다 작으므로 조건이 참이고 `++a`가 실행돼 a와 max는 11이 됩니다.
    조건이 거짓일 때 실행되는 `++b`는 건너뛰어서 b는 20으로 남아요.