josee2
josee2 Devlog
josee2
전체 방문자
오늘
어제
  • 분류 전체보기 (54)
    • Swift (33)
      • 문법 (33)
    • iOS (13)
    • Algorithm (3)
      • 프로그래머스 (1)
      • BOJ (0)
      • 기타 (2)
    • 일상 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 멀티쓰레드
  • serial
  • 비동기
  • concurrent
  • 동시큐
  • SeSAC
  • Async
  • 동시
  • 문자열 템플릿
  • 프로세스
  • Sync
  • 동시성프로그래밍
  • Swift
  • 쓰레드
  • 서울청년취업사관학교
  • GCD
  • 스위프트
  • IOS
  • 직렬
  • 동기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
josee2

josee2 Devlog

Swift/문법

스위프트(Swift) - 조건문 Ⅰ. if 구문

2022. 4. 29. 23:55

 

다른 말로 분기문(Branch Statements)라고도 불리는 조건문은 프로그램에서 하나 또는 그 이상의 조건값에 따라 실행하도록 프로그램의 흐름을 분기하는 역할을 한다.

 

if 구문은 대부분의 프로그래밍 언어에서 가장 많이 사용되는 구문 중 하나로 if 조건절을 사용하여 조건식의 결과가 참(true)일 때만 블록 내부의 구문을 실행하고, 거짓(false)이면 코드 블록을 빠져나가 if 블록 다음에 위치한 코드를 수행한다.

if <조건식> {
	<실행할 구문>
}

 키워4드 if 다음에는 조건식이 사용되는데, 이 조건문은 반드시 Bool 타입의 참(ture), 거짓(false)을 판단할 수 있는 형태의 구문이어야 한다. (참고로 숫자의 경우  0만 false 나머지는 모두 true로 인식되는 특징?이 있다.)

 

if 구문의 예시는 다음과 같다.

var adult = 19
var age = 15

if age < adult {
	print("당신은 미성년자!")
}

/* 실행결과
당신은 미성년자!

 

✅ if ~ else

위의 예에서는 조건식이 true / false 중 하나일 때만 구문을 실행할 수 있었다. 하지만 만약 조건식이 참일 때는 A구문을, 참이 아닐 때는 B구문을 실행하고 싶다면 else를 사용하면된다.

if <조건식> {
	<조건이 참일 때 실행할 구문>
} else {
	<조건이 거짓일 때 실행할 구문>
}

위의 예시를 좀 더 보충해보면 다음과 같다.

var adult = 19
var age = 21

if age < adult {
	print("당신은 미성년자!")
} else {
	print("당신은 성년자!")
}

/* 실행결과
당신은 성년자!

age는 21이므로 adult인 19보다 크므로 위 조건식의 조건절은 false가 된다. false의 경우 else 예외처리를 해준다. 즉 age < adult 조건 이외의 경우에는 print("당신은 성년자!")가 실행되는 것이다.

 

✅ if ~ else if

마지막은 비교할 조건이 여러 개일 경우이다. 조건이 여러개일 경우 else if로 조건의 예외처리를 해주면 보다 깔끔하게 처리할 수 있다.

if <조건1> {
	<조건1이 참일 때 실행할 구문>
} else if <조건2> {
	<조건2가 참일 때 실행할 구문>
} else {
	<앞의 조건들을 전부 만족하지 않았을 때 실행할 구문>
}

이를 이용한 예시는 다음과 같다.

var browser = "Safari"
var browserName : String

if (browser=="IE") {
	browserName = "인터넷 익스플로러"
} else if (browser=="FF") {
	browserName = "파이어 폭스"
} else if (browser=="Chrome") {
	browserName = "크롬"
} else if (browser=="Opera") {
	browserName = "오페라"
} else if (browser=="Safari") {
	browserName = "사파리
} else {
	browserName = "알려지지 않은 브라우저"
}

print("사용하고 계신 브라우저는 \(browserName)입니다")

/* 실행결과
Safari

else if 대신 if를 중첩해서 사용하면 어떻게 되는지 궁금할 수도 있을 것이다. if , if ,if를 반복해서 사용하는 경우 일치하는 조건식이 발견되더라도 거기서 멈추지않고 모든 조건식을 비교한 후에 구문을 마치게된다. 컴퓨터 입장에서 불필요한 자원들을 낭비하는 것이다.

 

반면, if ~ else if 구문은 차례대로 조건식을 비교하다 일치하는 것이 발견되면 더이상 비교를 진행하지 않고 조건문을 종료하게되기 때문에 if ~ else if 구문으로 조건을 처리하는 것이 바람직하다.

 


출처 : 꼼꼼한 재은씨의 Swift 문법편

 

저작자표시 (새창열림)

'Swift > 문법' 카테고리의 다른 글

스위프트(Swift) - 조건문 Ⅲ. #available 구문  (0) 2022.05.02
스위프트(Swift) - 조건문 Ⅱ. guard 구문  (0) 2022.04.30
스위프트(Swift) - 반복문 Ⅱ. while 구문  (0) 2022.04.28
스위프트(Swift) - 반복문Ⅰ. for ~ in구문  (0) 2022.04.27
스위프트(Swift) - 연산자  (0) 2022.04.26
    'Swift/문법' 카테고리의 다른 글
    • 스위프트(Swift) - 조건문 Ⅲ. #available 구문
    • 스위프트(Swift) - 조건문 Ⅱ. guard 구문
    • 스위프트(Swift) - 반복문 Ⅱ. while 구문
    • 스위프트(Swift) - 반복문Ⅰ. for ~ in구문
    josee2
    josee2
    iOS 개발자 지망생의 공부기록입니다.

    티스토리툴바