i = 1 일 때, i <= 5 조건을 충족하므로
++i 되어 다음 반복문에 i값이 +1 증가된 것(다음 반복 회차에 i = 2가 된 것)은 반영이 되지만
해당 회차에 hap은 왜 그대로 0인지 이해가 잘 가지 않습니다.
i=1일 때, hap = hap + i 이므로 hap = 0 + 1이 되어 1이 되는 게 아닌가요..
답변 부탁드립니다..!
안녕하세요 길벗수험서 운영팀입니다.
for(i=1; i<=5; ++i, hap+=i)
System.out.printf("합은%d %4d입니다.\n", i, hap);
위의 코드를 아래로 단순화 시켜 보죠.
for(①; ②; ③)
④;
해당 문제에서 내부의 출력문은 i가 1일 때부터, 5일 때까지 총 5회 수행됩니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
4번이 처음 수행될 때 증가식(3번)은 수행되지 않습니다.
초기식(1번)만 수행된 후 바로 printf문(4번)이 수행되기 때문에 hap이 0이 된 것이죠.
행복한 하루되세요 :)
-
관리자2020-09-10 10:43:08
안녕하세요 길벗수험서 운영팀입니다.
for(i=1; i<=5; ++i, hap+=i)
System.out.printf("합은%d %4d입니다.\n", i, hap);
위의 코드를 아래로 단순화 시켜 보죠.
for(①; ②; ③)
④;
해당 문제에서 내부의 출력문은 i가 1일 때부터, 5일 때까지 총 5회 수행됩니다.
1회 : ①, ②(조건 참), ④
2회 : ③, ②(조건 참), ④
3회 : ③, ②(조건 참), ④
4회 : ③, ②(조건 참), ④
5회 : ③, ②(조건 참), ④
종료 : ③, ②(조건 거짓) <탈출>
4번이 처음 수행될 때 증가식(3번)은 수행되지 않습니다.
초기식(1번)만 수행된 후 바로 printf문(4번)이 수행되기 때문에 hap이 0이 된 것이죠.
행복한 하루되세요 :)