114 페이지 답이 합은 1 ~ 합은 5 까지로 나와있는데
for문 안에서 i가1부터 시작 -> ++i 를 해서 2가 돼고 그때 hap이 2가 되니까
이걸 실행한 다음 출력을 하니까 출력이 '합은2~' 부터 되어야 하는거 아닌가요?
그리고 i가 5일때 i<=5 이 조건을 만족하니까 +서 6이되고 hap이 20이 되어서
'합은6 20입니다'까지 출력되어야 하는거아닌가요??
그리고 117쪽 문제40번에서는 왜 위 문제처럼 모든 문장이 출력되지 않고 한문장만 출력되나요?
for문이 마지막 문장인 system.out~ 까지 반복되는게 아닌가요?
그리고 i가 5일때 실행해서 i가6이 되고 hap은 1부터 6까지 더해서 21이 되는거 아닌가요?
안녕하세요.
1)
먼저 i가 1인 상태에서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은1 0입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 2가되고 hap += i에 의해 hap은 2가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은2 2입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 3이되고 hap += i에 의해 hap은 5가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은3 5입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 4가되고 hap += i에 의해 hap은 9가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은4 9입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 5가되고 hap += i에 의해 hap은 14가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은5 14입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 6이되고 hap += i에 의해 hap은 20이 됩니다.
이어서 종료값을 비교합니다. i<=5에서 No이므로 반복문을 벗어난 후 프로그램을 종료합니다.
2)
반복문 for문 뒤에 ;이 있는 경우 for문만 반복됩니다.
그래서 for문만 반복된 후 출력은 for문이 종료된 후 한 번만 수행하게 됩니다.
오늘도 즐거운 하루되세요.
-
*2017-03-27 14:49:52
안녕하세요.
1)
먼저 i가 1인 상태에서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은1 0입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 2가되고 hap += i에 의해 hap은 2가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은2 2입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 3이되고 hap += i에 의해 hap은 5가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은3 5입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 4가되고 hap += i에 의해 hap은 9가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은4 9입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 5가되고 hap += i에 의해 hap은 14가 됩니다.
이어서 종료값을 비교합니다. i<=5에서 Yes이므로 반복문을 진입합니다.
system.out.printf("합은%d %4d입니다.\n", i, hap); 에 의해
출력은 : 합은5 14입니다.
그런 다음 증가값 부분의 수식을 순차적으로 진행하여
++i로 인해 i는 6이되고 hap += i에 의해 hap은 20이 됩니다.
이어서 종료값을 비교합니다. i<=5에서 No이므로 반복문을 벗어난 후 프로그램을 종료합니다.
2)
반복문 for문 뒤에 ;이 있는 경우 for문만 반복됩니다.
그래서 for문만 반복된 후 출력은 for문이 종료된 후 한 번만 수행하게 됩니다.
오늘도 즐거운 하루되세요.