for문은 반복문으로서 condition(조건문, 부울식)의 결과값이 True일 동안 { } 안에 쓰인 본문을 계속하여 실행한다.
for문은 break;를 이용하여 종료할 수 있고, 결과값이 False일 경우 종료된다.
for문은 이렇게 구성된다.
여기서 int i = 0; 부분은 initializer 부분으로 초기값을 설정해주는 부분이다.
i < 3; 부분은 condition 부분으로 for문이 반복하여 실행하는 것의 기준인 True와 False를 리턴하는 연산을 한다.
즉, 비교 연산자를 이용하여 반복 실행하는 조건을 작성하는 부분이다.
i++ 부분은 iterator 부분으로써 본문이 실행 된 후에 증감연산자를 이용하여 값을 증감시키는 부분이다.
위의 예시를 순서대로 풀어보면 이렇게 된다.
1. int형 변수 i의 값은 0이다. (initializer 부분)
2. i의 값은 0이다. (condition 부분)
3. 0은 3보다 작다. (condition 부분)
4. 비교연산자(<)의 결과 값이 True이므로 for문의 본문을 실행한다. (condition 부분)
5. Console.Write(i); 에서 i의 값은 0이다. Console.Write를 이용하여 0을 출력한다.
6. i의 값은 0이다. (iterator 부분)
7. 0을 1증가시킨다. (iterator 부분)
8. i의 값은 1이다. (condition 부분)
9. 1은 3보다 작다. (condition 부분)
10. 비교연산자(<)의 결과 값이 True이므로 for문의 본문을 실행한다. (condition 부분)
11. Console.Write(i); 에서 i의 값은 1이다. Console.Write를 이용하여 1을 출력한다.
12. i의 값은 1이다. (iterator 부분)
13. 1을 1증가시킨다. (iterator 부분)
14. i의 값은 2이다. (condition 부분)
15. 2는 3보다 작다. (condition 부분)
16. 비교연산자(<)의 결과 값이 True이므로 for문의 본문을 실행한다. (condition 부분)
17. Console.Write(i); 에서 i의 값은 2이다. Console.Write를 이용하여 2를 출력한다.
18. i의 값은 2이다. (iterator 부분)
19. 2를 1증가시킨다. (iterator 부분)
20. i의 값은 3이다. (condition 부분)
21. 3은 3보다 작다. (condition 부분)
22. 비교연산자(<)의 결과 값이 False이므로 for문을 종료한다. (condition 부분)
참조 : Microsoft Docs
https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/for