개발공부 정리 노트
[조건문] if 본문
조건문이란 주어진 조건에 따라 특정 구문을 실행하는 문장입니다.
if문
if <#condition#> {
<#code#>
}
스위프트에서 코드 스니펫으로 코드를 불러오면 나오는 if문의 기본형입니다.
condition 부분에는 말 그대로 조건식이 들어가고 if문의 경우에는 조건식이 반드시 true나 false를 리턴하는 불린(Boolean )표현식이 들어가야 합니다.
여기서 조건식을 무조건 한 가지만 써야 하는 것은 아니고 논리 연산자(&&, ||)를 이용하여 여러 조건을 나열할 수도 있습니다.
그리고 조건 true인 경우에만 조건 부분 다음에 나오는 코드 블럭을 실행합니다.
if문을 문법적인 형태로 구분해 보면 크게 세 가지입니다.
- if
- if ~ else
- if ~ else if ~ else
3가지 타입 중 어떤 것을 사용해도 상관없으며 상황에 따라 필요한 타입을 사용하시면 됩니다.
먼저 첫 번째 타입인 if 키워드만 있는 경우를 보겠습니다.
var temperature = -5
if temperature <= 0 {
print("날씨가 추우니 외투를 입고 나가세요.")
}
if문을 해석하면 온도가 0도 이하라면 "날씨가 추우니 외투를 입고 나가세요."라는 문자열을 출력합니다.
위에 말씀드렸듯이 if문 다음에 오는 조건이 참일 때만 다음에 나오는 코드 블럭을 실행합니다.
현재 변수에는 -5라는 변수가 저장되어 있고 -5는 0보다 작은 값이기 때문에 temperature <= 0 표현식은 true를 반환합니다. 따라서 다음 블럭에 있는 print("날씨가 추우니 외투를 입고 나가세요.") 코드가 실행됩니다.
다음으로 두 번째 타입인 if ~ else 구문을 보겠습니다.
temperature = 8
if temperature <= 0 {
print("날씨가 추우니 두꺼운 외투를 입고 나가세요.")
} else {
print("날씨가 별로 춥지 않으니 얇은 외투를 입고 나가세요.")
}
if문을 해석하면 0도 이하라면 "날씨가 추우니 외투를 입고 나가세요."라는 문자열을 출력하고 그 외에는 "날씨가 별로 춥지 않으니 얇은 외투를 입고 나가세요."라는 문자열을 출력하는 것입니다. 쉽게 생각하면 temperature변수가 1도 이상일 때 else 절 다음에 오는 코드 블럭을 실행합니다.
여기서 중요한 점은 else 구문 다음에는 조건식이 오지 않는다는 것입니다. 위에 조건을 제외한 나머지 경우를 모두 포함할 때 사용하는 구문이기 때문이죠.
if ~ else 구문에서 else 구문 다음에 오는 코드 블럭은 if문의 조건이 false일 때 실행됩니다.
현재 변수에 8이라는 새로운 값을 저장하였으니 if문을 실행하면 temperautre <= 0은 false를 반환합니다.
따라서 그다음 else 절이 실행되고 print("날씨가 별로 춥지 않으니 얇은 외투를 입고 나가세요.")코드가 실행됩니다.
다음으로 세 번째 타입인 if ~ else if ~ else 구문을 보겠습니다.
if 조건 외의 다른 조건을 더 추가하고 싶을 때 쓰는 것이 else if 구문입니다.
else if 구문은 여러 조건을 추가할 때 사용합니다.
if 키워드는 한 if문에 한 번만 사용되지만 else if 구문은 횟수 제한 없이 여러번 사용할 수 있습니다.
코드를 추가해보겠습니다.
temperature = 35
if temperature <= 0 {
print("날씨가 추우니 두꺼운 외투를 입고 나가세요.")
} else if temperature >= 30 {
print("날씨가 더우니 반팔을 입으세요.")
} else {
print("날씨가 별로 춥지 않으니 얇은 외투를 입고 나가세요.")
}
if문을 해석하면 0도 이하라면 "날씨가 추우니 외투를 입고 나가세요."라는 문자열을 출력하고 30도 이상이라면 "날씨가 더우니 반팔을 입으세요."라는 문자열을 출력하고 그 외에는 "날씨가 별로 춥지 않으니 얇은 외투를 입고 나가세요."라는 문자열을 출력합니다.
else if 구문에서는 또 다른 조건을 추가하는 것이기 때문에 뒤에 조건식을 작성해야 합니다.
현재 변수에 35라는 새로운 값을 저장하였으니 if문을 실행하면 temperautre <= 0은 false를 반환합니다.
따라서 그다음 else if 절이 실행되는데 여기서 temperature >= 30이 true를 반환합니다.
조건식이 true를 반환하기 때문에 else if 절 다음에 오는 print("날씨가 더우니 반팔을 입으세요.")코드가 실행됩니다.
+ 추가적으로 else를 제외하고 if ~ else if만 이용해서 if문을 작성하는 것도 가능합니다.
# 최종 요약
- if문 키워드와 { 사이에는 조건식(Condition Expression)이 오는데 조건식은 true나 false를 리턴하는 불린(Boolean) 표현식이어야 한다.
- if문은 조건식이 참(true)인 경우에만 다음에 오는 코드 블럭을 실행한다.
- 조건식은 논리 연산자(&&, ||)를 이용하여 여러 조건을 나열할 수 있다.
- else if 구문은 횟수 제한 없이 여러번 사용할 수 있다.
- else if 구문 뒤에는 조건식이 와야하고 else 구문 뒤에는 아무런 조건식도 들어가지 않는다.
'iOS > Swift' 카테고리의 다른 글
IUO(Implicitly Unwrapped Optionals) (0) | 2021.06.06 |
---|---|
[반복문] for-in문과 while문 (0) | 2021.05.30 |