스위프트 튜토리얼(3) - if문
위의 영상의 if문 파트를 바탕으로 작성한 포스팅이다.
if문을 배워보자. 프로그래밍에서 if문은 매우 중요하다. if문은 다른 말로 조건문이라고 하는데 결국에는 조건에 따라서 해야 할 것을 정하는 게 프로그래밍이지 싶다.
다시 xcode의 플레이그라운드를 실행시켜보자.
if문은 다음과 같은 구조로 되어있다.
if condition {
some code
}
프로그래밍 공부를 할 때는 예시를 보는 것이 가장 이해가 잘 간다. 가장 간단한 if문을 작성해보겠다.
let a = 1
if a < 4 {
print("only if a is less than 4")
}
위의 코드를 설명하면
a 가 4보다 작을 때 "only if a is less than 4"라는 문자열을 출력해라
이다.
if의 옆에 조건을 적고, 그 옆에 중괄호({, })를 삽입한다. 중괄호 안에는 조건에 맞을 경우 실행될 코드를 넣는다.
위 코드를 실행한다면 "only if a is less than 4"라를 텍스트가 출력될 것이다.
좀 더 다양한 조건을 주고 싶다라면 다음과 같이 작성이 가능하다.
if condition1 {
some code
}
else if condition2 {
some code
}
위 코드를 설명해보자면
condition1에 맞는 조건이라면 condition1의 중괄호 안에 있는 내용이 실행될 것이다.
condition1에 조건이 맞지 않고 condition2에 조건이 맞다면 condition2의 중괄호 안에 있는 내용이 실행될 것이다.
ㅇ예시를 보도록 하자
let a = 7
if a < 4 {
print("only if a is less than 4")
}
else if a < 8 {
print("only if a is less than 8")
}
위의 코드는 "only if a is less than 8"이라는 텍스트를 출력할 것이다.
만약 a가 1이라면 "only if a is less than 4"라는 텍스트를 출력할 것이다.
else if 구문은 원하는 대로 추가할 수 있다.
let a = 7
if a < 4 {
print("only if a is less than 4")
}
else if a < 8 {
print("only if a is less than 8")
}else if a < 10 {
print("only if a is less than 10")
}
if문을 쓸 때 조건 검사를 위에서 아래로 하는데 한 조건이라도 맞아떨어지는 게 있다면 조건에 맞는 코드를 실행하고 그 아래 코드는 모두 무시한다.
지금까지 if, else if까지 살펴보았는데 마지막으로 else구문도 있다. 이 else구문은 위의 조건의 모두 안 맞을 때 실행되는 구문이다,
형태는 다음과 같다.
if condition1 {
some code
}
else if condition2 {
some code
}else{
some code
}
예시는 다음과 같다.
let a = 10
if a < 4 {
print("only if a is less than 4")
}
else if a < 8 {
print("only if a is less than 8")
}else if a < 10 {
print("only if a is less than 10")
}else{
print("nothing was true")
}
a는 10이기 때문에 조건을 모두 만족시키지 못하고 마지막 else구문에 있는 "nothing was true" 텍스트만 출력할 것이다.
참고로 지금까지 사용한 부등호는 크고 작음을 확인하는 <, >만 사용했는데
같음을 비교할 때는 부등호로 =이 아닌 ==을 사용한다. =을 하나만 사용할 때는 값을 할당할 때 만임을 알아두자.
AND와 OR
조건문 할 때 자주 쓰인다. 예시로 바로 보자.
let a = 1
let b = 10
if a < 4 && b < 4 {
print("branch 1")
}
&&는 and를 의미하며 양쪽에 있는 두 조건을 만족시킬 때 true가 된다.
위의 예시에서 a < 4는 true이나 b < 4는 false라 결국 false로 되어 조건문 중괄호 안에 있는 내용은 실행이 되지 않는다.
만약에 b가 1이면 b < 4도 true가 되어 중괄호 안에 있는 내용이 실행되었을 것이다.
다른 예시를 보도록 하자.
let a = 1
let b = 10
if a < 4 || b < 4 {
print("branch 1")
}
||은 OR을 의미하며 양쪽에 있는 조건 중 하나라도 만족시키면 true로 인정한다.
위 예시에서는 b <4 가 false라고 하더라도 a < 4가 true이기 때문에 결국 true가 되어 "branch 1"을 출력한다.
||, &&는 중복해서 사용도 가능하다. 다음 예시를 보도록 하자.
let a = 10
let b = 1
let c = 3
if ( a < 4 || b < 4) && c == 3{
print("branch 1")
}
위의 조건문을 따져보자.
a < 4 => false
b < 4 => true
a < 4 || b < 4 => true
c == 3 => true
(false || true) && true => true && true => true
true가 되어 조건문을 만족시킴을 알 수 있다.
다른 예문을 하나 더 보도록 하자.
let a = 10
let b = 1
let c = 3
if a < 4 || (b < 4 && c == 3) {
print("branch 1")
}
a < 4 => false
b < 4 => true
c == 3 => true
b < 4 && c ==3 => true
false || (true && true ) => false || true => true
true가 되어 조건문을 만족시킴을 알 수 있다.
위의 예문에서 같다는 부등호 표시를 할 때 == 을 사용했다. 그렇다면 같지 않다는 어떻게 표시할까?
!= 를 사용하면 된다. 예문을 다시 보자.
let a = 10
let b = 1
let c = 3
if (a < 4 || b < 4) && c != 3 {
print("branch 1")
}
c != 3 은 c가 3이랑 같지 않을 때 true가 된다. c는 3이기 때문에 false가 되고 조건문은 실행되지 않는다.
!는 또 다른 활용법이 있다. true값이나 false값을 반대로 바꾸어 줄 수 있다. 다음 예시를 보자.
let a = 10
let b = 1
if !(a == 10 && b == 1){
print("branch 3")
}
위 구문에서 a == 10 && b ==1 은 true이지만 앞에 !가 붙어져 있기 때문에 false가 된다.
처음 조건문을 다뤄 사람이라면 30분 정도 조건문을 좀 가지고 이것저것 해보는 것을 추천한다.
'스위프트' 카테고리의 다른 글
스위프트 튜토리얼(6) - Loops, 반복문(2) (0) | 2020.12.21 |
---|---|
스위프트 튜토리얼(5) - Loops, 반복문(1) (0) | 2020.12.19 |
스위프트 튜토리얼(4) - Switch Statements (0) | 2020.12.19 |
스위프트 튜토리얼(2) - Data Type (0) | 2020.12.17 |
스위프트 튜토리얼(1) - Variables (0) | 2020.12.16 |