작성
·
41
0
이 코드인데유...
제가 머리가 별로 안 좋은건지 강사님이 분명 while 문일 때 i = 1,2,3,4,5,6이 나오게 작동한다고 하셨는데
막상 나온 값을 보니 1 2 4 5 가 전부라서유... 왜 그런지 잘 모루겠습니다...
이게 막상 도출된 값이랑 i값이랑 다른건지 뭔지 넘 헷갈립니다...
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
오리너구리푸딩님, 질문해주신 부분에 대해 설명드리겠습니다.
Java 프로그램에서 while
반복문과 continue
에 관련된 코드 흐름이 헷갈릴 수 있습니다. 이해를 돕기 위해 아래 설명을 참고해 주세요.
int i = 1;
으로 i
의 초기값을 설정합니다.while(i <= 5)
조건에 부합하는 동안 반복문은 반복됩니다.i == 3
인 경우, i++
이 먼저 실행되어 i
가 4가 됩니다. 그리고 continue
문으로 인해 그 회차의 나머지 코드가 실행되지 않고 다음 반복으로 넘어갑니다. 이로 인해 i == 3
일 때의 출력이 생략됩니다.i
가 1, 2, 4, 5일 때는 if
조건에 걸리지 않으므로 System.out.println(i);
을 통해 출력됩니다.i
는 매 반복마다 증가되어 6이 되면, 조건 i <= 5
가 만족하지 않게 되어 반복문이 종료됩니다.결과적으로, 출력된 숫자는 1, 2, 4, 5가 되며, i
== 3일 때는 건너뛴 것입니다. 이런 구조 덕분에 i
의 모든 값을 따라갔음에도 중간 값(3)을 출력하지 않게 되는 것이죠.
이해에 도움이 되셨길 바랍니다!
imageURL: https://cdn.inflearn.com/public/files/posts/708f7d4d-377d-4722-9d6a-b0b4870ba5ca/a32211eb-d8c8-4d7f-8d86-0f8d5a037695.png