아니요, 이해에 혼동이 있으신 것 같습니다. for 반복문의 i = i + 2 라는 부분은 i의 현재 값을 2만큼 증가시키는 연산입니다. i = i + 2는 '현재 i의 값에 2를 더한 후 그 결과를 다시 i에 대입한다'는 의미입니다.
이해를 돕기 위해 코드의 실행 순서를 한번 살펴보겠습니다:
- 반복문이 시작될 때, i는 0입니다.
- i < 5 (0 < 5)라는 조건이 참이므로 {} 내의 코드가 실행되며, Console.WriteLine(i)로 인해 0이 출력됩니다.
- 그 다음으로 i = i + 2가 실행되어 i에 2를 더한 값을 다시 i에 대입합니다. 그러면 i의 값은 이제 2가 됩니다.
- 다시 i < 5를 체크합니다. i가 2이므로 이는 여전히 참입니다. 따라서 Console.WriteLine(i)가 실행되고 2가 출력됩니다.
- i = i + 2가 다시 실행되고 i는 이제 4가 됩니다.
- i < 5를 다시 체크하면 여전히 참이므로 Console.WriteLine(i)가 실행되고 4가 출력됩니다.
- i = i + 2가 다시 실행되고 i는 이제 6이 됩니다.
- 이번에는 i < 5를 체크하면 거짓이므로 {} 내의 코드는 실행되지 않고, 반복문은 종료됩니다.
따라서 1과 3이 출력되지 않는 이유는 i값이 0부터 시작하여 2씩 증가하므로 1과 3을 건너뛰게 되기 때문입니다.
for 반복문 연습하실 때에는 Visual Studio의 디버거 기능 중 [F10]을 여러 번 눌러가면서 단계별로 상태를 확인하는게 좋습니다.
다음 링크의 동영상을 참고해서 F10 사용법을 익혀두시면 도움이 됩니다.
https://youtu.be/AxtMv56_OVA?list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&t=553
On 2023-06-03 오후 12:45:00, '김태원' wrote:
0부터 4까지 2씩 증가시키기
for (int i = 0; i<5; i=i+2)
{
Console.WriteLine(i)
}
책에는 0,2,4라고 되어있는데
왜 1,3은 출력안되는지 모르겠어요
i=i+2가
0=0+2
1=1+2
2=2+2
3=3+2
4=4+2
이렇게하는거 아닌가요