언어(Programming Language)/Swift

[Swift] 조건문 (if문 & switch/case문)

RyanSin 2021. 5. 31. 14:12
반응형

- 지난 시간

안녕하세요. 지난 시간에는 "자료형, 변수, 상수" 개념 및 사용법에 대해 알아봤습니다.

 

혹시 위 개념을 이해하지 못 하신 분들은 아래 링크를 통해 학습하고 오시는 걸 추천드리겠습니다. :)

 

- [Swift] 자료형, 변수, 상수 개념 및 사용법

 

[Swift] 자료형, 변수, 상수 개념 및 사용법

- 지난 시간 안녕하세요. 지난 시간에는 Xcode를 설치하는 방법에 대해 알아봤습니다. Xcode 설치 방법에 대해 모르시는 분들은 아래 링크를 통해 설치하고 오시는 걸 추천드리겠습니다. [언어(Progra

any-ting.tistory.com

- 개요

이번 시간에는 조건문에 대해 알아보겠습니다.

 

다른 언어와 동일하게 특정 조건에 대한 참과 거짓을 구분하는 키워드입니다.

 

조건문에는 If문과 switch/case 문이 있습니다.

 

- 사용법

* If문

var count: Int = 100

if count < 101 {
	print("count 값이 101 보다 작다면 실행")
}else if count > 101 {
	print("count 값이 101 보다 크다면 실행")
}else {
	print("위 두 조건이 참이 아니면 실행")
}

//실행 결과
"count 값이 101 보다 작다면 실행"

조건문은 말 그대로 조건이 성립하면 중괄호 안에 있는 해당 코드가 실행 됩니다.(조건이 성립하지 않으면 실행이 안되겠죠 ㅎ)

 

위 코드는 if 문이 성립되므로 "count 값이 101 보다 작다면 실행" 문구가 실행 됩니다.

 

마지막으로 if 문과 else 구문만을 사용할 수 있습니다. (else-if 구문이 필요없으면 생략이 가능하다는 겁니다.)

 

*Switch/Case 문

 

-기본

var count = 100

switch(count) {

case 0:
	print("count 값이 0이라면 실행")
case 1..<100:
	print("count 값이 1~99이라면 실행")
case 100:
	print("count 값이 100이라면 실행")
default:
	print("위 조건이 참이 아니라면 실행")
}

//실행 결과
"count 값이 100이라면 실행"

다른 언어와 다르게 Swift에서는 break를 하지 않아도 자동으로 break가 됩니다.

 

- fallthrough 사용하기

fallthrough 키워드는 break를 무시하고 다음 case구문을 실행 시켜준다.

var count = 100

switch(count) {

case 0:
	print("count 값이 0이라면 실행")
case 1..<100:
	print("count 값이 1~99이라면 실행")
case 100:
	print("count 값이 100이라면 실행")
    fallthrough
    print("여기는 무시...")
default:
	print("위 조건이 참이 아니라면 실행")
}

//실행 결과
"count 값이 100이라면 실행"
"위 조건이 참이 아니라면 실행"

위 결과를 확인하면  case 100과 default 구문이 실행됩니다.

 

- 쉼표(,)로 여러가지 case 설정

var count = 3

switch(count) {

case 0, 1, 2, 3: // 쉼표를 통해 여러개 설정
	print("count 값이 0 or 1 or 2 or 3 이라면 실행")
case 1..<100:
	print("count 값이 1~99이라면 실행")
case 100:
	print("count 값이 100이라면 실행")
    fallthrough
    print("여기는 무시...")
default:
	print("위 조건이 참이 아니라면 실행")
}

//실행 결과
"count 값이 0 or 1 or 2 or 3 이라면 실행"

 

이번 시간에는 Swift에서 사용되는 조건문에 대해 알아봤습니다. 실습 한번 꼭 해보시는 걸 추천드리겠습니다 :)