6. 조건문
- if문 실습
var age = 15
if age >= 20 {
print("20살이 넘은 성인입니다")
} else if age >= 17 {
print("20살 미만이고 17살 이상인 고등학생입니다.")
} else if age >= 14 {
print("17살 미만이고 14살 이상인 중학생입니다.")
} else {
print("어린이 입니다!")
}
// 위의 코드를 한줄씩 번역해 볼게요!
let age = 15 // age 상수에 15를 할당합니다.
if age >= 20 { // 만약 age가 20 이상이면 아래 코드블록을 실행합니다.
print("20살이 넘은 성인입니다")
} else if age >= 17 { // 만약 age가 20 미만이고 17이상이면 아래 코드블록을 실행합니다.
print("20살 미만이고 17살 이상인 고등학생입니다.")
} else if age >= 14 { // 만약 age가 17 미만이고 14이상이면 아래 블록을 실행합니다.
print("17살 미만이고 14살 이상인 중학생입니다.")
} else { // 위의 조건들이 모두 false이면 else 의 code block을 실행합니다.
print("어린이 입니다!")
}
if 10 > 20 { // 만약 10 이 20보다 크다면 아래 코드블록을 실행합니다.
print("10은 20보다 큽니다!!!")
} else { // 만약 10이 20보다 크지 않다면 아래 코드블록을 실행합니다.
print("10은 20보다 작습니다!!!")
}
- 조건문 실습 1
let score = 80
switch score {
case 90...100:
print("A 등급 입니다!")
case 80..<90:
print("B 등급 입니다.")
case 70..<80:
print("C 등급 입니다.")
default:
print("D 등급 입니다.")
}
// 번역
let score = 80 // score 이름의 상수에 80을 할당합니다.
switch score { // score를 switch 코드블록에 넣습니다.
case 90...100: // score가 90이상 100점 이하일 때 아래 코드를 실행합니다.
print("A 등급 입니다!")
case 80..<90: // score가 80이상 90미만일 때 아래 코드를 실행합니다.
print("B 등급 입니다.")
case 70..<80: // score가 70이상 80미만일 때 아래 코드를 실행합니다.
print("C 등급 입니다.")
default: // score가 위에 조건문에서 true가 하나도 없었다면 아래 코드를 실행합니다.
print("D 등급 입니다.")
}
- 조건문 실습 2
**var score = 50
switch score {
case 90...:
break
default:
print("공부를 더 하세요!")
}
// 출력
// "공부를 더 하세요!"
switch score {
case 50...:
print("50점 이상이시군요")
fallthrough
case 50:
print("딱 50점이시네요?")
default:
print("공부를 더 하세요!")
}
// 출력
// "50점 이상이시군요"
// "딱 50점이시네요?"
// 번역
var score = 50 // score 라는 변수에 값 50을 할당합니다.
switch score { // score를 switch 코드블록에 넣습니다.
case 90...: // score가 90보다 크다면 아래 코드를 실행합니다.
break // 아무런 행동을 하지 않고 코드블록에서 탈출합니다.
default: // score가 위의 조건에 맞지 않는다면 아래 코드를 실행합니다.
print("공부를 더 하세요!")
}
// 출력
// "공부를 더 하세요!"
switch score { // score를 switch 코드블록에 넣습니다.
case 50...: // score가 50 이상이면 아래 코드를 실행합니다.
print("50점 이상이시군요")
fallthrough // 아래의 case도 확인합니다.
case 50: // score가 50이면 아래 코드를 실행합니다.
print("딱 50점이시네요?")
default: // score가 위의 조건에 맞는게 없다면 아래 코드를 실행합니다.
print("공부를 더 하세요!")
}
프로그램의 흐름을 제어하는 문법으로, 특정 조건이 true 인지 false인지에 따라 코드블록을 실행하거나 건너뛸 수 있습니다.
**
- if문 실습
if 10 > 20 { // 만약 10 이 20보다 크다면 아래 코드블록을 실행합니다.
print("10은 20보다 큽니다!!!")
} else { // 만약 10이 20보다 크지 않다면 아래 코드블록을 실행합니다.
print("10은 20보다 작습니다!!!")
}
var age = 15
if age >= 20 {
print("20살이 넘은 성인입니다")
} else if age >= 17 {
print("20살 미만이고 17살 이상인 고등학생입니다.")
} else if age >= 14 {
print("17살 미만이고 14살 이상인 중학생입니다.")
} else {
print("어린이 입니다!")
}
/*
// 위의 코드를 한줄씩 번역해 볼게요!
var age = 15 // age 상수에 15를 할당합니다.
if age >= 20 { // 만약 age가 20 이상이면 아래 코드블록을 실행합니다.
print("20살이 넘은 성인입니다")
} else if age >= 17 { // 만약 age가 20 미만이고 17 이상이면 아래 코드블록을 실행합니다.
print("20살 미만이고 17살 이상인 고등학생입니다.")
} else if age >= 14 { // 만약 age가 17 미만이고 14 이상이면 아래 블록을 실행합니다.
print("17살 미만이고 14살 이상인 중학생입니다.")
} else { // 위의 조건들이 모두 false이면 else의 code block을 실행합니다.
print("어린이 입니다!")
}
*/
- Guard
guard 조건 else {
// 조건이 false 일 때 실행되는 코드블록
// return, break, continue, throw등 코드블록을 종료하는 구문이 필요
return
}
// 만약 위에서 조건이 false라면 아래 코드는 실행되지 않습니다.
// ealry exit (빠른 탈출)이라고도 불립니다.
// 조건이 true이면 아래의 코드를 게속 진행합니다.
// 반복문에서 사용하는 guard
for i in 0...10 {
print(i)
guard i < 5 else { break }
}
/* 출력 값
0
1
2
3
4
5
*/
// 한국말로 풀어보기
for i in 0...10 { // 0부터 10까지 반복합니다. 현재값은 i에 넣습니다.
print(i)
guard i < 5 else { break } // i가 5보다 작다면 true이기 때문에 계속 진행합니다.
// i가 5보다 크다면 false이기 때문에 else 코드블록을 실행합니다.
// else 코드블록에서는 for 반복문을 탈출하는 break
}
if vs guard
- guard 는 아래의 더이상 코드를 진행하지 못하게 하는 경비원 같은 존재
- if는 코드블록에 들어갈 수 있는 티켓
놀이공원에 입장하려면 티켓이 필요해요.
그리고 놀이공원 안에서만 사용할 수 있다고 생각하면 된다.
Switch
- 조건문 실습 1
let score = 80
switch score {
case 90...100:
print("A 등급 입니다!")
case 80..<90:
print("B 등급 입니다.")
case 70..<80:
print("C 등급 입니다.")
default:
print("D 등급 입니다.")
}
// 번역
let score = 80 // score 이름의 상수에 80을 할당합니다.
switch score { // score를 switch 코드블록에 넣습니다.
case 90...100: // score가 90이상 100점 이하일 때 아래 코드를 실행합니다.
print("A 등급 입니다!")
case 80..<90: // score가 80이상 90미만일 때 아래 코드를 실행합니다.
print("B 등급 입니다.")
case 70..<80: // score가 70이상 80미만일 때 아래 코드를 실행합니다.
print("C 등급 입니다.")
default: // score가 위에 조건문에서 true가 하나도 없었다면 아래 코드를 실행합니다.
print("D 등급 입니다.")
}
- 조건문 실습 2
var score = 50
switch score {
case 90...:
break
default:
print("공부를 더 하세요!")
}
// 출력
// "공부를 더 하세요!"
switch score {
case 50...:
print("50점 이상이시군요")
fallthrough
case 50:
print("딱 50점이시네요?")
default:
print("공부를 더 하세요!")
}
// 출력
// "50점 이상이시군요"
// "딱 50점이시네요?"
// 번역
var score = 50 // score 라는 변수에 값 50을 할당합니다.
switch score { // score를 switch 코드블록에 넣습니다.
case 90...: // score가 90보다 크다면 아래 코드를 실행합니다.
break // 아무런 행동을 하지 않고 코드블록에서 탈출합니다.
default: // score가 위의 조건에 맞지 않는다면 아래 코드를 실행합니다.
print("공부를 더 하세요!")
}
// 출력
// "공부를 더 하세요!"
switch score { // score를 switch 코드블록에 넣습니다.
case 50...: // score가 50 이상이면 아래 코드를 실행합니다.
print("50점 이상이시군요")
fallthrough // 아래의 case도 확인합니다.
case 50: // score가 50이면 아래 코드를 실행합니다.
print("딱 50점이시네요?")
default: // score가 위의 조건에 맞는게 없다면 아래 코드를 실행합니다.
print("공부를 더 하세요!")
}