[Unity]/[C#]

[C# 기초] #09 : 반복문(for문, foreach문, while문)

극꼼 2021. 7. 13. 13:26
반응형


안녕하세요 극꼼입니다! 

스크립트를 작성하다 보면 같은 코드를 여러번 반복해야 할 때가 있습니다.

이럴땐 반복문을 사용하는데요, 반복문에는 for, foreach, while문이 있습니다. 


[for문]

for문은 반복 횟수를 지정하면 자동으로 반복 횟수만큼 처리를 반복합니다.

for문의 형식을 간단하게 표현하면 다음과 같습니다.

for(반복 조건)
{
     반복 코드
}

여기서 반복 조건은 아래와 같이 일정 형식을 갖춰야 합니다.

for(변수 초기화; 반복 조건식; 변수 갱신)
{
     반복 코드;
}

 

for문의 사용 예시를 살펴보겠습니다.

for(int i = 0; i < 3; i++)
{
     Debug.Log(i);
}

//순서대로 0, 1, 2 가 찍힘.

/* int i = 0으로 for문 시작
* -> {}안을 한바퀴 돌고 나면 다시 처음으로 돌아감
* -> i++을 한 후, i < 3인 조건을 만족하면 다시 {} 안의 코드를 읽음
* -> i < 3 조건을 만족하지 않으면 그대로 for문이 끝남
*/

 

 

[foreach문]

foreach문은 어떤 자료구조(배열, Collection(List, ArrayList 등)) 안의 일련의 데이터들을 차례로 처리할 때 쓰입니다.

foreach문의 형식은 다음과 같습니다.

foreach(데이터형식 변수이름 in 자료구조변수이름)
{
     반복 코드;
}

 

예를 들어, 아래와 같은 배열이 있습니다.

int[] num = new int[5] {4,6,8,1,2};

배열에 대해서는 다음 게시물에서 자세히 다룰텐데, 간단히 말자하면 num이라는 배열 안에 4,6,8,1,2라는 데이터들이 차례로 들어가 있는 것입니다. 

foreach(int A in num)
{
     Debug.Log(A);
}
//배열 num안의 데이터들이 순서대로 사용됨.
//따라서, 4,6,8,1,2가 순서대로 찍힘.

 

 

* for문은 특정 조건이 성립할 때까지 반복하고, foreach문은 특정 열거 인터페이스가 열거된 요소를 하나씩 가져온다는 차이점이 있습니다. 

 

[while문]

while문은 조건이 true이면 무한으로 반복하는 코드입니다.

while(조건식)
{
     반복 코드;
}

꼭 조건식이 아니더라도, while문을 멈추는 방법으로는 break가 있습니다.

while(조건식)
{
     반복 코드;
     if(멈춤 조건) break;
}

 

while문의 사용 예시입니다.

int A = 0;
while(A < 5)
{
     Debug.Log(A);
     A++;
}
//0,1,2,3,4가 차례대로 찍힘.

while(A < 5)
{
     Debug.Log(A);
     A++;
     if(A == 3) break;
}
//0,1,2만 찍힘.

 

while문은 처리 속도가 매우 빠르기 때문에, 남발하면 코드 처리 속도가 느려지므로, 꼭 필요할 때만 사용하는 것이 좋습니다.

while문은 Coroutine과 자주 사용되는데요, Coroutine은 나중 포스팅에서 while문과 함께 다시 다루도록 하겠습니다.

 

반응형