Notice
Recent Posts
Recent Comments
Link
大器晩成
조건문(If문) 본문
조건문(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 |