swift 문법 반복문 while, repeat - while 사용하기

swift 문법 반복문 while, repeat while을 알아보고 사용해 봅시다. for loop처럼 while 문 안에 있는 코드를 조건에 따라서 반복시킬 수가 있습니다.

 

while

while 조건 {
//    code....
}

while 문의 기본 형태입니다. while 후에 조건을 통해서 코드가 반복되게 됩니다. 

 

var i = 0
while i < 10 {
    print(i)
    i += 1
}

해당 코드의 while 반복문의 조건을 보면  i < 10보다 작을 경우에 반복이 됩니다. 스코프 안쪽의 코드를 보면 i를 출력하고 나서 1씩 더해주고 있습니다. 결과는 어떻게 될까요? 처음 while을 만났을때 i는 0이기 때문에 10보다 작습니다. 조건을 만족했으니 스코프 안의 코드가 조건에 따라서 반복 실행됩니다. 처음 0을 출력하고 i는 1이 더해집니다. 그 후 다시 while문의 조건인 i < 10을 검사합니다. 1은 여전히 10보다 작기 때문에 코드가 다시 실행이됩니다. i가 10이 될 때까지 while 문을 반복하게 됩니다. i가 10이 될 경우 조건을 만족하지 못해서 해당 반복문은 끝이 나게 됩니다.

출력결과 : 0 1 2 3 4 5 6 7 8 9

 

repeat - while

repeat {
// code
} while 조건

repeat - while의 경우 처음 실행되는 방식이 다르지만 while문과 같은 방식으로 동작합니다. 코드를 보면 while 문이 아래에 내려와 있습니다. 코드 실행의 흐름은 처음 repeat - while을 코드 실행 중 만나게 되면 while처럼 조건을 검사하지 않고 먼저 스코프 안의 코드가 실행됩니다. 그 후 다음 반복을 할 지 말지 조건을 검사하게 됩니다. 

while의 경우는 조건 > 코드수행 > 조건 > 코드수행 ... 이라고 한다면 repeat - while은 코드 수행 > 조건 > 코드 수행 > 조건 ...으로 처음 한 번은 조건과 무관하게 코드가 한 번 실행이 됩니다.

var i = 10
repeat {        // i가 10이지만 처음 한 번은 코드가 실행 된다.
    print(i)
    i += 1
} while i < 10  // 코드 실행 후 i는 10 이기 때문에 더이상 반복x 

출력 결과 : 10

 

break, continue

for loop와 마찬가지로 while 반복문 안에서 break, continue 모두 사용할 수 있으며 동작 방식은 동일합니다.

var i = 0
while i < 10 {
    print(i)
    if i == 5 { //i가 5일 경우에는 whlie 반복문이 종료 된다.
        break
    }
    i += 1
}

i가 5일 경우에는 break를 만나서 더 이상 반복되지 않고 종료됩니다. 이때 5는 10보다 작아서 조건에는 만족하지만 그와는 무관하게 반복문을 빠져나가게 됩니다.

출력 결과 : 0 1 2 3 4 5

 

var i = 0
while i < 5 {
    i += 1
    if i == 2 {
        continue 
        // i가 2일경우에는 continue를 해서 다시 while 조건검사로 돌아간다.
    }
    
    print(i)
}

i가 2일 경우에는 continue를 실행하게 됩니다. 이때는 다시 조건 검사로 돌아가게 되어서 아래 있는 print(i)가 실행되지 않습니다. 따라서 처음 1이 출력되고 2가 되었을 때는 continue를 만나서 다시 처음으로 돌아가게 되고 1이 증가한 3부터 출력이 됩니다.

출력 결과 : 1 3 4 5

 

 

그리드형(광고전용)

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band

댓글

Designed by JB FACTORY