반복문

반복문 (Loop Statement)이란 특정 조건을 만족하는 동안 코드 또는 코드 블록을 반복해서 실행하도록 하는 문장이다.


while

while 문은 주어진 조건식이 true 인 동안 코드를 반복 실행한다. 만약 조건식이 false 값을 갖지 못한다면 프로그램은 while 문에서 영원히 빠져 나오지 못하는 무한 루프 현상이 발생하게 되므로 주의해야한다.

while (조건식)
{
		반복_실행할_코드
}

Untitled

using System;

namespace Loop_Statement
{
    class MainApp
    {
        static void Main(string[] args)
        {
            int i = 10;
            
            while(i > 0)
            {
                Console.WriteLine($"i : {i--}");
            }
        }
    }
}
i : 10
i : 9
i : 8
i : 7
i : 6
i : 5
i : 4
i : 3
i : 2
i : 1

do while

do while 문은 while 문과 유사한 반복문이지만, while 문이 조건식을 평가한 후 그결과가 참이면 코드를 실행하는 반면, do while 문은 조건식을 평가하기 전에 무조건 처음 한 번은 코드를 실행한다는 점이 다르다.

do
{
		반복_실행할_코드
}
while (조건식);

Untitled

using System;

namespace Loop_Statement
{
    class MainApp
    {
        static void Main(string[] args)
        {
            int i = 10;
            
            do
            {
                Console.WriteLine($"a) i : {i--}");
            }
            while (i > 0);

            do
            {
                Console.WriteLine($"b) i : {i--}");
            }
            while (i > 0);
        }
    }
}
a) i : 10
a) i : 9
a) i : 8
a) i : 7
a) i : 6
a) i : 5
a) i : 4
a) i : 3
a) i : 2
a) i : 1
b) i : 0

for

for 문은 주로 정해진 횟수만큼 반복할 때 사용한다. for 문은 초기화식, 조건식, 반복식의 세 부분으로 구성되며, 이들은 세미콜론 ; 으로 구분되어 있다.

for (초기화식; 조건식; 반복식)
	반복_실행할_코드
using System;

namespace Loop_Statement
{
    class MainApp
    {
        static void Main(string[] args)
        {
            for (int i = 0; i < 5; ++i)
            {
                Console.WriteLine(i);
            }
        }
    }
}
0
1
2
3
4

foreach

foreach 문은 배열 또는 컬렉션을 순회하며 각 데이터 요소에 차례대로 접근하도록 해준다. 배열 또는 컬렉션의 끝에 도달하면 자동으로 반복이 종료된다.

foreach(데이터_형식 변수명 in 배열_또는_컬렉션)
	코드_또는_코드_블록

위 형식과 같이 foreach 문은 in 키워드와 함께 사용한다. foreach 문이 한 번 반복을 수행할 때마다 배열 또는 컬렉션의 요소를 차례대로 순회하면서 in 키워드 앞에 있는 변수에 담아준다.

using System;

namespace Loop_Statement
{
    class MainApp
    {
        static void Main(string[] args)
        {
            int[] arr = new int[] { 0, 1, 2, 3, 4 };

            foreach (int a in arr)
            {
                Console.WriteLine(a);
            }
        }
    }
}
0
1
2
3
4