switch-case문
switch 표현식
{
case match1: 각 case문 안에 break가 자동으로 들어 있다.
구문
case match2:
구문
case match3, match4:
구문
default:
구문
}
BMI switch-case문으로 구현
import Foundation
let weight = 90.0
let height = 183.0
let bmi = weight / (height*height*0.0001) // kg/m*m
let shortBmi = String(format: "%0.2f", bmi)
var body = ""
switch bmi {
case 40... :
body = "3단계 비만"
case 30..<40:
body = "2단계 비만"
case 25..<30:
body = "1단계 비만"
case 18.5..<25:
body = "정상"
default:
body = "저체중"
}
print("BMI:\(shortBmi), 판정:\(body)")
var value = 3
switch value
{
case 0:
print("영")
case 1:
print("일")
case 2:
print("이")
case 3:
print("삼")
default:
print("4이상")
} //삼 출력
주의사항 - 각 케이스 별로 실행 가능한 문장이 최소 한개는 있어야 한다.
let anotherCharacter: Character = "a"
switch anotherCharacter {
case "a": // Invalid, the case has an empty body
case "A":
print("The letter A")
default:
print("Not the letter A")
}
//error: 'case' label in a 'switch' should have at least one executable statement
예제
var value = 9
var days : Int = 0
switch(value)
{
case 1,3,5,7,8,10,12: //여기서 ,는 or의 의미
print("31 일입니다")
case 4,6,9,11:
print("30 일입니다")
case 2:
print("28 or 29 일입니다")
default:
print("월을 잘못 입력하셨습니다")
} //30일 입니다
let num = 1004
let count : String
switch num {
case 0...9:
count = "한자리 수"
case 10...99:
count = "두자리 수"
case 100...999:
count = "세자리 수"
default:
count = "네자리 수 이상"
}
print("\(count)입니다.") //네자리 수 이상입니다.
'Swift' 카테고리의 다른 글
Swift 정리 : fallthrough문 (0) | 2022.10.04 |
---|---|
Swift 정리 - where절 (0) | 2022.10.04 |
Swift 정리 : guard문 (0) | 2022.10.04 |
Swift 정리 : 제어문 (0) | 2022.09.27 |
Swift 정리 : Nil-Coalescing Operator(Nil합병연산자) (0) | 2022.09.27 |