조건분기문에 이어 중요한 문법 중 하나인 반복문입니다.
반복문은 특정 조건에 따라 해당 구문을 반복하는 문구입니다.
이러한 반복문에는 while, do-while과 for, foreach가 있습니다.
이번 글에서는 while과 do-while에 대해 알아보도록 하겠습니다.
while문
while문의 구조는 아래와 같습니다.
조건이 참인 경우 while문 내부 문구를 실행합니다.
그렇기 때문에 while문 내부에는 특정 조건이나 반복 횟수에 따라 조건 결과를 거짓으로 변경해서 while문을 탈출하게 해주는 문구가 필요합니다.
그렇지 않은 경우 조건은 계속 참으로 유지되고 while문은 무한루프를 돌게 됩니다.
바로 무한루프가 도는 while문의 예제를 확인해보겠습니다.
변수 a에 '0'을 할당했으며 while문의 조건은 'a<5'로 구성했습니다.
while내부에 a값을 바꾸어주는 구문이 없기 때문에 조건인 a<5는 항상 참입니다.
따라서 해당 while문은 무한루프를 돌게 됩니다.
무한루프가 도는 위 예제의 while문 내부에 a++를 추가하였습니다.
while문이 반복될 때마다 증감연산자인 ++로 인해 a의 값이 1씩 증가하게 됩니다.
그 결과 아래와 같이 0, 1, 2, 3, 4가 차례로 출력되고 증감연산자로 인해 a가 5가 되면 해당인 a<5는 거짓이기 때문에 while문이 종료됩니다.
do-while문
이어서 do-while문에 대한 내용입니다.
while과 do-while의 가장 큰 차이점은 while은 반복문 시작과 동시에 조건을 확인하는 반면 do-while의 경우 최초 1번은 무조건 실행한 후에 조건을 검사한다는 점입니다.
이는 아래의 구조를 보면 보다 쉽게 이해하실 수 있습니다.
이어서 예제를 보며 확인해보도록 하겠습니다.
아래 예제에서는 a에 '5'를 할당하였으며 do-while에는 'a<5'를 조건으로 구성했습니다.
while의 경우 a에 5를 할당했다면 조건인 a<5는 거짓이기 때문에 반복문은 단 한 번도 수행하지 않게 됩니다.
하지만 do-while문의 경우에는 최초 1회는 무조건 해당 구문의 내용을 수행하기 때문에 아래와 같이 a=5의 출력을 한 후에 종료되었습니다.
while과 do-while은 조건 검사 시점에 따라 갈리는 반복문입니다.
while문의 경우 해당 구문에 들어감과 동시에 조건을 검사하는 방식이며,
do-while의 경우에는 일단 한번 돌고 조건을 검사하는 방식인 것입니다.
while과 do-while 반복문을 사용할 때 가장 주의해야 하는 점을 하나 꼽자면...
해당 구문 내부에 조건이 바뀌게 되는 구문을 반드시 넣어줘야 한다는 점입니다.
그렇지 않으면 위에 설명드린 것처럼 무한루프를 돌게 되니까요.
여기까지 반복문 중에서 while과 do-while에 대한 내용이었습니다.
비슷하지만 용도에 따라 약간씩 사용법이 다르니 정확한 차이를 아는 것이 중요하다 생각됩니다.
그럼 다음 글에서는 나머지 반복문인 for와 foreach에 대해 알아보도록 하겠습니다.
감사합니다.
'Programming > .NET' 카테고리의 다른 글
[C#] 08. 반복문(for, for-each) (0) | 2020.06.15 |
---|---|
[C#] 07. 조건분기문(if-else, switch-case) (0) | 2020.05.12 |
[C#] 삼항 연산자 (0) | 2020.05.04 |
[C#] 06. 연산자(관계, 논리, 비트) (0) | 2020.04.24 |
[C#] 06. 연산자(수식, 증감, 할당) (0) | 2020.04.12 |