본문 바로가기

Swift

Swift 정리 : switch-case문

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