for item in "범위" {
"code"
}
//범위 자리에는 범위를 나타내는 연산자가 와야한다
for index in 1...5 {
print("For문 출력해보기: \(index)")
}
//1이상 5이하(1,2,3,4,5)를 let index = 1 그리고 let index = 2 ...
for index in 1...4 {
let result = index * 5
print("\(index)에 5를 곱하면 \(result)")
}
주의 : 1이상 10이하를 10이하로 1이상으로 바꾸는방법
**왜 사용하나요? : 범위 연산자는 오름차순으로 선언해야함**
(1...10).reversed()
for _ in 0...10 {
print("hello")
}
//원래 _ 대신 i가 있었는데 i자체가 사용되지 않기 때문에 생략해도 11번반복은된다
// **컬렉션**에서 각 아이템을 차례 차례 한번씩 뽑아서 중괄호 안에서 사용
let list = ["Swift", "Programming", "Language"]
for str in list {
print(str)
}
// **문자열**에서 각 문자를 차례 차례 한개씩 뽑아서 중괄호 안에서 사용
for chr in "Hello" {
print(chr, terminator: " ")
//다음줄로 넘어가지 말고, 한칸을 띄워라
//저게 없다면 기본값은 \n(엔터) -> 엔터대신 스페이스를 써라
}
// **Stride** : 규칙적인 범위를 만들어주는 함수
let range = stride(from: 1, to: 15, by: 2)
// 1이상 15미만(to)인데 2씩 추가
// StrideTo<Int>
for i in range {
print(i)
}
// 1, 3, 5, 7, 9, 11, 13
let range1 = stride(from: 1, through: 15, by: 2)
// 1이상 15이하(through)인데 2씩 추가
// StrideThrough<Int>
for i in range1 {
print(i)
}
// 1, 3, 5, 7, 9, 11, 13, 15
let range2 = stride(from: 10, through: 2, by: -2)
// 10이하 2이상(through)인데 2씩 빼기
// StrideThrough<Int>
for i in range2 {
print(i)
}
// 10, 8, 6, 4, 2
중괄호 내에서 밖에 변수는 접근가능
중괄호 밖에서 안에 변수는 접근불가능
while "참과 거짓을 판단 할 수 있는 문장" {
"code"
⭐️조건에 변화를 주는 문장(보통 조건은 밖에다가 선언함)
-> 밖에있는 변수는 내부에서 접근이 가능하기 때문
}
Example)
var sum = 0
var num = 1
while num <= 50 { // 조건이 만족하는 동안 계속 반복
sum += num
num += 1 // **(⭐️필수)조건을 변화시키는 문장이 존재해야한다**
}
var i = 1
repeat {
print("\(3) * \(i) = \(3 * i)") // 조건에 상관 없이 실행
i += 1 // 조건을 변화시키는 문장
} while i <= 9 // 조건의 참거짓여부를 판단
for num in 1...20 {
if num % 2 == 0 {
// num이 2의 배수이면 continue실행
// **continue의 뜻은 순간 다음 반복실행**
// 즉 아래있는 print(num)을 실행하지 않는다
continue
}
print(num)
}
//결과 : 1, 3, 5, 7, 9, 11, 13, 15, 17, 19
for num in 1...20 {
if num % 2 == 0 {
break
// num이 2의 배수이면 break실행
// **break의 뜻은 순간 가장 가까운 반복을 끝냄** -> 반복문 아래문장을 실행
}
print(num)
}
for i in 0...3 {
print("OUTER \(i)")
for j in 0...3 {
if i > 1 {
print(" j :", j)
continue
}
print(" INNER \(j)")
}
//만약에 i가 2고 j가 0, 1, 2, 3의 반복을 했다면
//3까지의 반복이 끝났기 때문에 print(" INNER \(j)")를 실행하지 않음
}
for i in 0...3 {
print("OUTER \(i)")
for j in 0...3 {
if i > 1 {
print(" j :", j)
break
}
print(" INNER \(j)")
}
//특정조건을 만족해 break를 만나면 for j in 0...3의 반복문이 끝남
//print(" INNER \(j)")를 실행하지 않음
}
😉