大器晩成

조건문(If문) 본문

iOS/Swift 문법

조건문(If문)

zerobugpark 2024. 10. 31. 23:45

조건문(if문)

  • 참(true) 또는 거짓(false)의 특정 조건에 따라 특정 코드를 실행하는 데 사용
  • if문은 조건부 논리를 구현하는 가장 기본적인 방법 중 하나

기본 구문

if <조건식> {
    // 조건이 참일 때 실행될 코드
}

---------------------------------------------------------------

let temperature = 25

if temperature > 20 {
    print("It's a warm day.") // 출력: It's a warm day.
}

// 일부 프로그래밍 언어에서 조건식의 ()를 사용해야 하는 경우도 있지만 스위프트에서는 생략 가능합니다.
// 일반적으로 괄호는 생략합니다..

# 일부 프로그래밍 언어의 if문 사용법
if (a == 10) {

}

 

 

if - else 문

  • 조건이 참이 아닐 때 다른 코드를 실행합니다.
if <조건식> {
<조건이 참일 때 실행할 구문>
} else {
    <조건이 거짓일 때 실행할 구문>
}

---------------------------------------------------------------

let temperature = 15

if temperature > 20 {
    print("It's a warm day.")
} else {
    print("It's a cool day.")
}
// 출력: It's a cool day.

 

if - else if - else 문

  • 여러 조건을 평가할 때 'else - if'를 사용할 수 있습니다.
 if <조건식1> {
 <조건식1이 참일 때 실행>
 } else if <조건2> {
 <조건식2가 참일 때 실행할 구문>
 } else {
 <앞의 조건들을 전부 만족하지 않았을 때 실행할 구문>
 }

---------------------------------------------------------------

let temperature = 15

if temperature > 30 {
    print("It's a hot day.")
} else if temperature > 20 {
    print("It's a warm day.")
} else {
    print("It's a cool day.")
}
// 출력: It's a cool day.

 

if문의 중첩 사용

  • if문 앞에 if문을 사용할 수 있습니다.
var adult = 19
var age = 21
var gender = "M"

if adult > age {
    if gender == "M" {
        print("남자 미성년자입니다.")
    } else {
        print("여자 미성년자입니다.")
    }
} else {
    if gender == "M" {
        print("남자 성년자입니다.")
    } else {
        print("여자 성년자입니다.")
    }
}
// 출력: 남자 성년자입니다.

 

복합 조건

  • 'if'문에서는 논리 연산자 ('&&', '||')를 사용하여 복합 조건을 평가할 수 있다.

AND  연산자 ('&&')

  • 두 조건이 모두 참일 때만 코드가 실행됩니다.
let temperature = 25
let isSunny = true

if temperature > 20 && isSunny {
    print("It's a warm and sunny day.")
}
// 출력: It's a warm and sunny day.

 

OR  연산자 ('||')

  • 한 조건이라도 참이면 코드가 실행됩니다.
let temperature = 15
let isSunny = true

if temperature > 20 || isSunny {
    print("It's either warm or sunny.")
}
// 출력: It's either warm or sunny.

 

if문 사용시 주의 사항

  • 논리적인 오류가 없도록 구성해야 합니다.
var num = 8

if num >= 0 {
    print("0 또는 양수입니다.")
} else if num % 2 == 0 {
    print("양의 짝수입니다.")
} else if num % 2 == 1 {
    print("양의 홀수입니다.")
} else {
    print("음수입니다.")
}
// 출력: 0 또는 양수입니다.


# 수정본
if num >= 0 {
    print("0 또는 양수입니다.")
    
    if num % 2 == 0 {
        print("짝수입니다.")
    } else if num % 2 == 1 {
        print("홀수입니다.")
    }
    
} else {
    print("음수입니다.")
}
// 출력: 0 또는 양수입니다.
// 출력: 짝수입니다.

 

  • 조건의 확인 순서를 잘 고려해야 합니다.
var score = 100


if score >= 70 {
    print("C입니다.")
} else if score >= 80 {
    print("B입니다.")
} else if score >= 90 {
    print("A입니다.")
} else {
    print("D입니다.")
}
//출력: C입니다.

# 수정본

if score >= 90 {                
    print("A입니다.")
} else if score >= 80 {
    print("B입니다.")
} else if score >= 70 {
    print("C입니다.")
} else {
    print("D입니다.")
}
//출력: A입니다.

 

if문(조건문)에서 콤마(,)

  • if문에서 콤마(,)는 조건을 모두 만족한다는 의미도 있지만, 순서 조건도 허용합니다.
var myName: String? = "Jobs"

/// &&  ======> 동시에 만족해야 함 (순서가 없는 경우에 사용)
/// ,     ======> 순서가  생김 (콤마 앞에 것이 먼저 실행) 조건1 ====> 조건2

#1
                            //조건1 만족 후 ===> 조건2 만족 허용
if let name = myName {      // (1) if let name == myName { ... } (조건1)
    if name == "Tim" {      // (2) name == "스티브" (조건1)
        
    }
}

#2 #1의 코드를 한줄로 작성
if let name = myName, name == "Tim" {  // 콤마(,)로 연결하면 한줄로 작성 가능
    print(name)
}

#3 잘못된 코드
if let name = myName && name == "Tim" {  // 에러 발생, 현 시점에서 name 상수는 아직 생성 전이기 때문
    print(name)
}

 

if문(조건문)을 표현식으로 사용(문법적 간결성 증가) - 스위프트 5.7 이후부터 가능

#1 기존 삼항 연산자
let score = 50
let result = score > 50 ? "pass" : "fail"

#2 기존 if문 사용 방석
var result2: String = ""

if score > 50 {
    result2 = "pass"
} else {
    result2 = "fail"
}

#3
#스위프트 5.7부터 가능 업데이트
let result3 = if score > 50 {
    "pass"
} else {
    "fail"
}

#4 (#3과 동일)
let result4 = if score > 50 { "pass" } else { "fail" }

If문을 활용한 예제

 

문제 1: 짝수와 홀수 판별하기

 - 선언된 변수가 짝수인지 홀수인지 판별해라.

var evenNumber: Int = 10

if evenNumber % 2 == 0 {
    print("짝수입니다.")
} else {
    print("홀수입니다")
}

 

 

728x90

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

튜플(Tuple)  (0) 2024.11.01
조건문(switch)  (3) 2024.11.01
범위 연산자 (Range Operators)  (0) 2024.10.31
기본 연산자 (Basic operators)  (2) 2024.10.31
타입 에일리어스(Type Alias)  (0) 2024.10.31