- For-In Loops
- While Loops
- while
- repeat-while
๊ธฐ๋ณธํ
for ์์๊ณต๊ฐ in ๋ฒ์(ํ์,๋ฐฐ์ด๋ฑ) {
์คํ๊ตฌ๋ฌธ
}
์์
for index in 1...4 { //1...4๋ฒ ์คํ
print("\(index) times 5 is \(index * 5)")
}
/*
1 times 5 is 5
2 times 5 is 10
3 times 5 is 15
4 times 5 is 20
*/
// Wildcard Pattern
for _ in 0...3 { //3๋ฒ ์คํ
print("hello")
}
/*
hello
hello
hello
hello
*/
for chr in "Hello" {
print(chr, terminator: " ") // " "\n์ ๋์ผํ ์๋ฏธ
//print(chr)//์บ๋ฆญํฐ ํํ๋ก ๋ค๋ฃจ๊ฒ๋จ
}
print()
/* H E I I O*/
let list = ["Swift", "Programming", "Language"]
for str in list {
print(str)
}
/*
Swift
Programming
Language
*/
- for ๋ฌธ์ ์ด์ฉํ์ฌ 3 ์ 10 ์ ๊ณฑ์ ๋ํ ๊ฒฐ๊ณผ๊ฐ์ ํํํ๋ ์ฝ๋ ๊ตฌํ
let base = 3
let power = 10
var answer = 1
for _ in 1...power {
answer *= base
}
print("\(base) to the power of \(power) is \(answer)")
- for ๋ฌธ์ ์ด์ฉํ์ฌ 10๋ถํฐ 1๊น์ง ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ถ๋ ฅํ๋ ์ฝ๋ ๊ตฌํ
for num in (1...10).reversed() {
print(num, terminator: " ")
}
print()
*์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋ ๋๊น์ง ์ผ๋ จ์ ๋ช ๋ น๋ฌธ ์ํ *์ฒซ ๋ฒ์งธ ๋ฐ๋ณต์ด ์์๋๊ธฐ ์ ์ ๋ฐ๋ณต ํ์๋ฅผ ์์ง ๋ชปํ ๋ ๋ง์ด ์ฌ์ฉ
- while / repeat-while
๊ธฐ๋ณธํ
<#code#>
}
- ๋ฃจํ๋ฅผ ํต๊ณผํ๋ ๊ฐ ํจ์ค์ ์์ ๋ถ๋ถ์์ ์กฐ๊ฑด์ ํ๊ฐ
var num = 0
var sum = 0
while num <= 100 {
sum += num //์ฐธ
num += 1 // 100๋ณด๋ค ์ปค์ง๋ฉด ๊ฑฐ์ง์ด๊ธฐ๋๋ฌธ์ ์คํ ์ข
๋ฃ๋จ
}
sum
- 2 ~ 9 ์ฌ์ด์ ์ซ์๋ฅผ ์ ๋ ฅ๋ฐ์ ํด๋น ์ซ์์ ํด๋นํ๋ ๊ตฌ๊ตฌ๋จ ๋ด์ฉ์ ์ถ๋ ฅํ๋ ํจ์
let base = 3
let power = 10
var answer = 1
for _ in 1...power {
answer *= base
}
print("\(base) to the power of \(power) is \(answer)")
- ๋ฃจํ๋ฅผ ํต๊ณผํ๋ ๊ฐ ํจ์ค์ ๋ ๋ถ๋ถ์์ ์กฐ๊ฑด์ ํ๊ฐ
- ๋ค๋ฅธ ์ธ์ด์์๋ do - while๋ฌธ์ผ๋ก ์ฃผ๋ก ์ฌ์ฉ
๊ธฐ๋ณธํ
repeat {
[์คํ๊ตฌ๋ฌธ]
} while [์กฐ๊ฑด]
func printMultiplicationTable1(for number: Int) {
var i = 1
repeat {
print("\(number) * \(i) = \(number * i)")
i += 1
} while i <= 9
}
printMultiplicationTable1(for: 3)
- ์์ฐ์ ํ๋๋ฅผ ์ ๋ ฅ๋ฐ์ 1๋ถํฐ ํด๋น ์ซ์ ์ฌ์ด์ ๋ชจ๋ ์ซ์์ ํฉ์ ๊ตฌํด ๊ทธ ํฉ์ ๋ฐํํ๋ ํจ์
func sumNumbers(max: Int) -> Int {
var num = 1
var sum = 0
repeat {
sum += num
num += 1
} while num <= max //๋งฅ์ค๊ฐ ๋๋ณด๋ค ์์์ง๋๊น์ง
return sum
}
sumNumbers(max: 10)
sumNumbers(max: 50)
sumNumbers(max: 100)