Swift

Loop statements - While문

dion_K 2020. 10. 29. 18:49
728x90

안녕하세요~:)

 

오늘은 while 반복문에 대해서 알아보도록 하겠습니다.

 

while 반복문은 while문과 repeat-while이 있고, for-in문과 다르게 사용됩니다.

반복하는 것은 같지만 조건에 따라서 반복 횟수가 결정됩니다.

 

그럼 언제 while문을 사용하는냐!!?

  • 실행 햇수가 명확하지 않을 때
  • 직접 실행해보기 전까지는 실행 횟수를 알 수 없을 때
  • 실행 횟수를 기반으로 할 수 없는 조건일 때
while condition {
    statement
}

 

while문은 조건에 따라서 반복 횟수가 결정됩니다. 

condition이 true일 경우 코드를 반복합니다. 이 경우에 무한 루프에 빠지지 않도록 조심해야 합니다!!!

condition이 false일 경우 이어지는 다음 코드가 실행됩니다. 그리고 특정 시점에서 반드시 false로 바뀌어야 합니다.

var n = 2
while n < 1000 {
    n = n * 2
}
n // 1024

while true {
    print("무한루프")
} // 실행하지 마세요!! 무한루프입니다!

 

< repeat - while 구문 >

  • repeat - while 구문은 코드 블록을 일단 실행한 다음에 조건식을 평가하여 반복 여부를 결정합니다.
  • 실행 블록의 수행을 최소 한 번은 실행합니다.
  • condition이 true로 평가되면 다시 블록을 실행하고, false 이면 반복문을 종료합니다.
repeat { // 문법
  statement
} while condition 
var i = 0

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

i = 0 // 변수 초기화

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

이 둘의 결과는 같습니다. 그렇다면 while과 repeat-while의 차이는 없는 걸까요?

변수를 10으로 바꾸고 다시 실행해 보도록 하겠습니다.

var i = 10

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

i = 10 // 변수 초기화

repeat {
    print(i)
    i += 1
} while i < 10 // 11

 

코드를 실행해보면 둘의 결과는 다릅니다.

그 이유는 while의 조건이 false이기 때문에 바로 10이 나오고, repeat은 우선 실행한 다음 조건을 판별하기 때문에 11이 나오게 됩니다.

 

오늘은 while 문에 대해서 알아보았습니다.

다음 시간에는 Optionals에 대해서 알아보도록 하겠습니다.

감사합니다:)

 

 

 

 

 

728x90