작성
·
131
답변 1
0
안녕하세요?
for 반복문에서의 동작 순서는 다음과 같습니다.
1) 선언
2) 조건 확인
3) 수행할 명령
4) 증감
... 이후 2), 3), 4) 반복
그래서 첫 번째 질문에 대한 답은 "수행할 명령을 먼저" 합니다.
for 반복문은 일반적으로 정해진 횟수에 맞춰서 반복을 수행하기 위한 것인데요. 다음과 같이 i 를 0 부터 시작하여 50 보다 작다는 조건을 만족하는 동안 i++ 을 하면서 반복 수행하게 되면, 기본적으로는 50번을 수행하게 됩니다. 이때 i 의 값은 0, 1, 2, 3, ... , 49 까지 총 50개의 값을 순서대로 가지게 되지요.
for (int i = 0; i < 50; i++) {
System.out.println(i + "번 손님, 주문하신 치킨 나왔습니다.");
sold++; // 판매 처리
if (sold == max) {
System.out.println("금일 재료가 모두 소진되었습니다.");
break;
}
}
만약 i 를 1 부터 시작하여 50 보다 작거나 같다는 조건을 만족하는 동안 i++ 을 하면서 반복 수행하게 되면, 똑같이 50번을 수행하게 됩니다. 다만 이때 i 의 값은 1, 2, 3, 4, ... , 50 까지 총 50개의 값을 순서대로 가지게 되고요.
for (int i = 1; i <= 50; i++) { // 이 부분이 변경되었어요
System.out.println(i + "번 손님, 주문하신 치킨 나왔습니다.");
sold++; // 판매 처리
if (sold == max) {
System.out.println("금일 재료가 모두 소진되었습니다.");
break;
}
}
그래서 두 번째 질문에 답을 드리자면,
강의에서와 같이 i 를 1 부터 시작하여 50 보다 작거나 같다는 조건을 만족하는 동안 반복 수행하게 되면, i 의 값은 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 이렇게 바뀌며 1번 손님부터 20번 손님까지 치킨을 판매하게 됩니다.
하지만 질문주신 것처럼 i 를 0 부터 시작하여 50 보다 작다는 조건을 만족하는 동안 반복 수행하게 되면, i 의 값은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 이렇게 바뀌며 0번 손님부터 19번 손님까지 치킨을 판매하게 됩니다. 즉, 문의주신 내용은 올바른 동작이 맞는 것입니다.
다만 똑같이 20명의 손님에게 치킨을 판매하는 과정에서 첫 번째 손님을 '0번 손님' 부터 시작하느냐 '1번 손님' 부터 시작하느냐의 차이로 이해해주시면 되겠습니다 😊
설명을 천천히 읽어보시고 여전히 이해가 되지 않으신다면 다시 질문 남겨주시면 다른 방법으로 설명드리겠습니다.
감사합니다.
네 이해했습니다!