For-in Loop
지정된 범위, 컬랙션을 반복하거나 열거할 수 있고 중첩도 가능
반복 상수는 range의 lower bound, upper bound 와 동일한 자료형
for loopConstant in Range {
statements
}
for loopConstant in Collection {
statements
}
반복 상수의 자료형은 Range의 Lower Bound, Upper Bound와 동일
for index in 1...3 {
print(index)
}
// 1, 2, 3
0~9 (10 미포함)에서 3의 배수
첫번째 파라미터에 시작할 범위, 두번째 파라미터에 종료할 범위 (종료할 범위는 실제범위에는 미포함), 세번째 파라미터 배수설정
for num in stride(from : 0, to : 10, by : 3) {
print(num)
}
// 3, ,6, 9
구구단을 만드는 for in 중첩의 예시
for i in 2...9 {
for j in 1...9 {
print("\(i) * \(j) = \(i * j)")
컬랙션 열거
let list = ["Apple", "Banana", "Orange"]
for fruit in list {
print(fruit)
}
While Loop
For in은 범위나 컬랙션을 반복하기 때문에 반복 횟수를 예측이 가능하지만 While 반복문은 조건에 따라 반복 횟수가 정해지기 때문에 반복 횟수를 예측할 수 없음 -> 무한루프에 빠지지 않도록 주의, 특정 시점에 false 가 되는지 항상 확인
while condition {
statements
}
var num = 1
var sum = 0
while num <= 100 {
sum += num
num += 1
}
sum // sum = 5050 (100times)
Repeat While Loop
While문은 조건식을 판단한 후 코드를 실행, Repeat While은 코드를 실행 후 조건을 판단
repeat {
statements
} while condition
var num = 100
while num < 100 {
num += 1
}
num //100
num = 100
repeat {
num += 1
} while num < 100
num //101
'스피드 문법정리' 카테고리의 다른 글
9. Functions (0) | 2020.06.15 |
---|---|
7. Control Transfer Statements, Labeled Statements (0) | 2020.06.12 |
5. Conditional Statements (0) | 2020.06.11 |
4. Operators (0) | 2020.06.11 |
3. Data Type, Type Inference, Type Safety, Type Conversion, Type Alias (0) | 2020.06.10 |