조건(condition)이 거짓(false)일때까지 구문(statements)을 반복한다
while 조건 {
code
}
var i = 0
while i < 10 { // i가 10전인 0~9까지를 출력한다
print(i)
i += 1
}
var i = 0
while i < 10 {
print(i)
if i == 5 { // i가 5까지 출력하고 break
break
}
i += 1
}
print("--- while")
var i = 10
while i < 10 { // 조건 검사 후 코드수행 // 실행 안함
print(i)
i += 1
}
print("--- Repeat")
i = 10
repeat { // 코드 수행후 조건 검사
print(i) // 10 출력
i += 1
} while i < 10
while
repeat
for-in문은 배열, 숫자, 문자열을 순서대로 순화(iterate)하기 위해 사용한다
for 상수명 in 컬렉션 또는 범위 {
// 실행될 코드
}
let colsedRange = 0...10
var sum = 0
for i in colsedRange {
print("---> \(i)") // 0~10 출력
sum += i
}
print("---> total sum: \(sum)") //---> total sum: 55
let halfXColsedRange = 0..<10
var sum = 0
for i in halfXColsedRange {
print("---> \(i)") // 0~9 출력
sum += i
}
print("---> total sum: \(sum)") //---> total sum: 45
for i in colsedRange {
if i % 2 == 0 {
print("---> 짝수: \(i)")
}
}
for i in colsedRange where i % 2 == 0 {
print("---> 짝수: \(i)")
}// where절을 만족해야 밑에 코드를 수행한다
for i in colsedRange {
if i == 3 {
continue // i가 3을 건너뛰고 실행
}
print("---> \(i)")
}
for i in colsedRange {
for j in colsedRange {
print("gugudan -> \(i) * \(j) = \(i * j)")
}
} // 0단 부터 10단의 구구단 출력
Switch 기본 형태
switch 표현식
{
case match1:
구문
case match2:
구문
case match3, match4:
구문
default:
구문
}
let num = 10
switch num {
case 0:
print("--> 0입니다.")
case 0...10:
print("--> 0 10 사이입니다.")
case 10:
print("--> 10입니다.")
default:
print("--> 나머지 입니다.")
}
switch 문 String
let pet = "bird"
switch pet {
case "dog", "cat", "bird":
print("--> 집동물이네요?")
default:
print("--> 잘 모르겠습니다")
}
let num = 20
switch num {
case _ where num % 2 == 0:
print("--> 짝수")
default:
print("--> 홀수 ")
}
let coordinate = (x: 10, y: 10)
switch coordinate {
case(0, 0):
print("원점에 있습니다")
case (let x, 0):
print("x축이네요, x: \(x)")
case (0, let y):
print("y축이네요, y: \(y)")
case (let x, let y) where x == y:
print("x랑 y랑 같음 x,y = \(x),\(y)")
case (let x, let y):
print("좌표 어딘가 x,y = \(x),\(y)")
}
참고 : FastCampus iOS 앱 개발 올인원 패키지