KWiOS
KWiOS0101
KWiOS
  • 분류 전체보기 (108)
    • Algorithm (41)
      • 이코테 (14)
      • 이코테 문제풀이 (21)
      • 프로그래머스 (6)
    • CS (1)
      • 모두를 위한 컴퓨터 과학(CS50 2019) (0)
    • iOS (15)
    • Swift (36)
      • Swift문법 (32)
      • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 6

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KWiOS

KWiOS0101

Swift/Swift문법

Swift문법 - Loop Statements

2022. 12. 23. 19:53

For- In Loops

  • 일정 횟수만큼 반복하기위한 반복문으로 반복횟수를 아는 경우에 사용하기 적합하다.
  • loopConstant는 반복 상수이며 for-in에서 임시로 사용하는 상수이다.

기본 문법

for loopConstant in range { 
    statements
}

 

예제 코드 

for index in 1...10 { 
    print(index)
}

위 코드를 실행해보면 반복 상수인 index가 1~10까지 반복되어 출력된다.

 

for _ in 1...10 {
    print("Swift")
}

만약 반복 상수를 사용하지 않고 싶다면 와일드카드 패턴(_)으로 작성하면 된다.

 

for index in 1...10 {
    index += 1 // error!!
}

index = 100 // error!!

반복 상수를 for-in문 내부에서 변경할 수 없고, for-in문 밖에서도 사용할 수 없다.

 

let list = ["a", "b", "c", "d","e"]

for str in list {
    print(str)
}

컬렉션도 반복문에 사용할 수있는데 

위 코드를 실행해보면 "a" ~ "e"까지 순서대로 출력된다.

 

 

stride

원하는 숫자만큼 증가시키는 방법이다.

예시로 1부터 100까지 2개, 3개, 4개씩 증가 시키고 싶을때 사용한다.

 

기본 문법 

for loopConstant in stride(from: , to: , by: ) {
    statements
}

for loopConstant in stride(from: , through: , by: ) { 
    statements
}

 

예제 코드

// from = 시작, to = 끝, by = 증가시킬 값

for num in stride(from: 0, to: 100, by: 2) {
    print(num)
}

// from = 시작, through = 끝, by = 증가시킬 값

for num in stride(from: 0, through: 100, by: 2) {
    print(num)
}

두 코드를 실행했을때 결과값으로 첫번째 코드는 98까지 출력되고 두번째 코드는 100까지 출력된다.

그 이유는 to와 through의 차이에 있는데 

to는 to에 들어가는 값을 포함하지 않는 범위이고, through는 through에 들어가는 값을 포함하는 범위이다.

 

for-in 반복문 중첩

반복문 안에 반복문을 작성할수 있다.

 

예제 코드

for i in 2 ... 9 {
    for j in 1...9 {
        print("\(i) X \(j) = \(i * j)")
    }
    print("\(i)단 입니다.")
}

위 코드는 구구단을 출력하는 코드인데 2단부터 9단까지 출력하는 코드이다.

코드 동작 순서를 보면 

맨처음 반복문이 실행되어 i가 2가되고 중첩된 반복문에서 1~9까지 반복 완료 후 i가 3으로 증가하게 된다.

위 과정을 거쳐 2~9까지 모두 실행되었을때 2단부터 9단까지 구구단이 출력된다.

 

Infinite Loop(무한 루프)

반복문의 반복 범위 끝을 지정해 주지 않는다면 해당 반복문은 무한루프에 빠지게된다.

아래 코드처럼 어퍼바운드를 지정해주지 않는다면 무한하게 반복문이 실행된다.

for index in 1... {
    print(index)
}

 

 

While Loop

조건을 만족할때까지 반복하는 반복문이다.

조건을 만족할때까지 얼마나 반복해야할지 모르는 경우에 사용한다.

conditon에는 Bool Type만 올 수 있고, true일때 반복하고 false일때 반복을 종료한다.

 

기본 문법

while condition {
    statement
}

 

예제 코드

var sum = 0

while sum < 100 {
    sum += 1
    print(sum)
}

위 코드는 sum 변수값을 1씩 증가시키는 반복 작업을 수행하는 코드로 

sum이 101 일때 반복문을 종료한다.

 

 

Repeat While Loop

최소 한번은 실행되는 반복문으로 조건이 뒤에 온다.

 

기본 문법

repeat {
    statement
} while condition

 

예제 코드

var sum = 0

repeat {
    sum += 1
    print(sum)
} while sum < 100

위 코드도 While 반복문에서 본 예제 코드와 동일하게 sum값이 100보다 클때까지까지 반복하는 코드이다.

 

while loop와 repect while loop의 차이점은 

while loop는 먼저 조건을 판단한 뒤 내부 코드를 실행하지만 repect while loop는 먼저 내부 코드를 실행 한 후 조건을 판단한다.

 

'Swift > Swift문법' 카테고리의 다른 글

Swift문법 - Optional  (1) 2023.01.15
Swift문법 - Control Transfer Statements, Labeled Statements  (0) 2023.01.08
Swift문법 - Conditional Statements(if, switch, guard)  (0) 2022.12.10
Swift문법 - Operator  (0) 2022.11.27
Swift문법 - Type Alias  (0) 2022.11.20
    'Swift/Swift문법' 카테고리의 다른 글
    • Swift문법 - Optional
    • Swift문법 - Control Transfer Statements, Labeled Statements
    • Swift문법 - Conditional Statements(if, switch, guard)
    • Swift문법 - Operator
    KWiOS
    KWiOS

    티스토리툴바