인프런 커뮤니티 질문&답변

안주형님의 프로필 이미지

작성한 질문수

Do it! 자바 프로그래밍 입문 with 은종쌤

제어 흐름 이해하기 (2)

17:20초에 질문

작성

·

182

0

선생님 말씀으로는  system.out.println (num)은 num이 더이상 조건이 만족되지 않아서 11로 값이나온다라고했는데.   System. out.println (sum)도 똑같이 조건이 만족되지 않을때 값이 나와야하는거 아닌가요? 즉 값이 55가아니라 11까지 더했을때 조건이 만족되지않으므로 55+11, 66이 나오는게 맞지않나요?

답변 1

1

작은 개발자님의 프로필 이미지

2021. 06. 07. 19:17

저 for (num = 1; num <= 10; num++) 은 num <= 10이 되면 포문을 빠져나갑니다. 그럼 포문이 끝나기전 num 값은 10입니다, 하지만 뒤에 num++은  후위증감연산자라서  num값을 필요한 곳에 사용한 다음 num값을 증가시킵니다. 따라서 마지막 10을 넣고 num은 11이 됩니다.  그럼 조건에 안맞으니 포문에서 나갑니다, 따라서 sum은 55고 num은 11입니다.

작은 개발자님의 프로필 이미지

2021. 06. 07. 19:22

이해가 안되시면 디버깅해서 포문 돌리는 과정을 보는 방법도 있습니다.