iOS swift 문법 반복문 for loop 사용하기

swift 프로그래밍에서 코드를 반복적으로 수행하게 해주는 반복문에 대해서 알아봅시다. C++에서는 for, while, do while이 있는데요. swift에서도 똑같은 기능의 반복문이 있습니다. 

for loop문

for 반복문의 경우는 특정한 범위를 지정하면 그 지정한 범위만큼 스코프안에 있는 코드를 반복하게 됩니다. for문의 경우는 반복할 범위를 지정해 줄 수 있습니다.

let forRange = 0...10  // 0 ~ 10
let forRange2 = 0..<10 // 0 ~ 9

범위를 지정할 때에는 ' ... ' ' ..< ' 로 범위를 지정해 줄 수 있습니다. 코드를 보면 ' ... ' 로 범위를 지정했을 때는 0 ~ 10까지, ' ..< ' 로 범위를 지정했을 때는 10이 포함이 되지 않고 0 ~ 9까지 범위가 지정됩니다. 이제 범위를 반복문에서 사용해 보도록 합시다.

사용방법

for (범위의 값을 받을 변수 이름) in (범위) {

  // .... 범위의 수 만큼 반복할 코드

}

for 반복문을 통해서 범위의 값을 모두 더하는 코드를 만들어 봅시다.

var sum = 0
for i in forRange {
  print(" \(i)")
  sum += i
}

print("sum: \(sum)")

i 는 forRange(0... 10) 0 ~ 10까지의 범위의 값을 하나씩 받습니다. for 반복문 스코프 안에 내용을 보면 i 의 값을 출력하고 sum 변수에 더해 주고 있습니다. 반복을 할 때마다 범위의 값을 하나씩 받기 때문에 0, 1, 2 .... 10까지 출력이 되고 sum 변수에 출력한 값들이 모두 반복적으로 덧셈이 됩니다.

 

 

실행결과를 보게 되면 0 부터 10까지 11번 코드가 반복이 되었고 출력 결과로 0, 1, 2,... 10 그리고 반복으로 덧셈해준 결과 55의 값을 볼 수 있습니다. 

continue

var sum = 0
for i in 0...10 {
  if i <= 0{
    continue // 아래 코드를 실행하지 않고, 다음 반복 차례로 넘어가게 됩니다.
  }
	
  print(" \(i)")
  sum += i
}

print("sum: \(sum)")

범위를 for 반복문에서 직접 지정해 줄 수도 있습니다. 코드를 출력하게 되면 똑같이 반복이 되면서 우리가 원하는 합을 구할 수 있습니다. 그런데 아까 전에는 11번 반복이 되었는데 이번에는 10번만 코드가 실행되었습니다.

 

바로 ' continue ' 때문인데요. 반복문안에서 continue를 만나게 되면 아래 코드를 실행하지 않고 다음 반복 순서가 실행됩니다. 조건문을 보면 0 보다 같거나 작을 때는 continue가 실행되도록 되어있습니다. 범위가 0부터 10까지 이기 때문에 0이 들어오게 되면 0은 아래 코드가 실행되지 않고 다음 순서인 1로 넘어가게 됩니다. 출력 결과를 보면 1부터 출력된 것을 볼 수 있습니다.

 

 

break

var sum = 0
for i in 0...10 {
  if i == 3{
    break //더 이상 반복문을 실행하지 않고 빠져 나가게 됩니다.
  }
	
  print(" \(i)")
  sum += i
}

print("sum: \(sum)")

이번에는 ' break ' 문입니다. continue문을 만나면 다음 반복 차례로 넘어간다고 했습니다. break문은 어떨까요? 바로 해당 반복문을 빠져나가 버립니다. 조건문을 보면 i 가 3일 때에 break 문을 만나게 됩니다. 실행 결과를 보면 i 가 3이후로 출력 결과가 없죠? 반복문을 빠져나가서 더이상 코드 반복을 하지 않았기 때문입니다.

 

이렇게 코드 반복 중 내가 원하는 조건에서는 다음 차례로 넘어가게 하거나, 어떠한 값을 찾았을 때는 더이상 반복문을 수행하지 않는다 같은 코드를 만들수 있습니다.

for - where

swift for 반복문에는 ' where ' 라는 것이 있습니다. 바로 if 조건문과 비슷합니다. 위에 코드를 보면 i를 2로 나눠서 나머지가 0이면 출력하는 코드를 만들었습니다. 출력결과를 보면 0, 2, 4, 6, 8, 10 짝수만 출력 된것을 볼 수 있습니다. where을 사용해서 똑같이 짝수만 출력 해보겠습니다. 똑같은 조건을 for 문 반복 범위 다음 where ( 조건 ) 을 작성하게 되면, 범위가 0 부터 10까지 총 11번 반복을 해야 하지만, where 조건에 맞는 짝수일 때만 반복문이 수행됩니다. 즉 (0, 2, 4, 6, 8, 10) 6번만 반복 하게 됩니다.

위의 코드는 11번 코드가 반복 실행 되지만 조건에 맞는 짝수 6번만 출력이 된 것이고, 아래 코드는 코드 반복자체가 6번 실행 된 것이기 때문에 출력 결과는 같지만 다른코드입니다.

그리드형(광고전용)

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band

댓글

Designed by JB FACTORY