티스토리 뷰

Swift

[Swift] Loop Statements (반복문)

learner._.Kio 2021. 2. 16. 16:23

목차

  • For-In Loops (for문)
    • for문
    • 이중 for문
    • Wildcard Pattern
  • while Loop (while문)
    • while
    • repeat-while
    • While Loop 특징


For-In Loops (for문)

  • for문
  • 이중 for문
  • '_' (underbar) Wildcard Pattern

for문

for loopConstant in Range {
    statements
}

예시

for index in 1 ... 3 {
    print("Hello, World")
}
/*      Hello, World
        Hello, World
        Hello, World    */

for index in 1 ... 3 {
    print(index)
}
/*      1
        2
        3        */
for num in stride(from: 0, to: 5, by: 2) {
    print(num)                // 0, 2, 4
}
let list = ["A", "B", "C"]
for i in list {
    print(i)                // A, B, C
}

이중 for문

// 이중 반복문
for i in 2 ... 3 {
    for j in 1...9 {
        print("\(i) * \(j) = \(i * j)")
    }
}
/*
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3
3 * 2 = 6
3 * 3 = 9
3 * 4 = 12
3 * 5 = 15
3 * 6 = 18
3 * 7 = 21
3 * 8 = 24
3 * 9 = 27 */

'_' (underbar) Wildcard Pattern

for _ in 1 ... 3 {                // Wildcard Pattern, '_' 사용으로 상수를 생략할 수 있다.
    print("Hello, World")
}
/*      Hello, World
        Hello, World
        Hello, World    */


while Loop (while문)

  • while
  • repeat-while
  • While Loop 특징

while문

while condition {
    statements
}

while문 예시

var num = 1
var sum = 0

while num <= 10 {
    sum += num
    num += 1
}
print(sum)    // 55v 

repeat-while문

repeat {
    statements
} while condition

repeat-while 예시

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

num = 0
repeat {
    num += 1        // 일단 코드를 바로 실행함
} while num < 10    // 조건을 평가함, 조건이 맞으면 repeat
print(num)   		// 10
var num = 10
while num < 10 {
    num += 1
}
print(num)    // 10

num = 10
repeat {
    num += 1
} while num < 10
print(num)    // 11, while문과 repeat-while은 결과가 다를 수 있다.

While Loop 특징

  • while문과 repeat-while은 결과가 다를 수 있다.
  • while :: 조건을 먼저 평가해야할 때
  • repeat-while :: 코드를 먼저 실행해야할 때


댓글