2023. 5. 7. 21:26ㆍSwift 이해/Swift 문법
저번 시간에는 컬렉션 데이터 타입에 대해 배웠습니다.
이번시간엔 조건문에 대해 알아보겠습니다.
if-else
if-else문은 다른 언어와 다르지 않게 사용합니다. 소괄호는 생략 가능하나 중괄호는 생략할 수 없습니다.
if 조건 {
//조건이 만족되면 실행
}else {
//조건이 만족되지 않으면 실행
}
예시와 함께 if문 사용법을 알아보겠습니다.
대한민국 남자 평균키는 173cm 입니다.
키가 173cm보다 크면 "평균이상"이라는 메시지를 출력하는 예제로 if문을 사용해보겠습니다.
let height = 175
if height > 173 {
print("평균이상")
}
173cm이 안되면 "평균이하"라는 메시지를 출력하는 예제로 else문을 추가해보겠습니다.
if height > 173 {
print("평균이상")
} else {
print("평균이하")
}
173cm이면 "평균"이라는 메시지로 출력하는 예제로 else if문을 추가해보겠습니다.
if height > 173 {
print("평균이상")
} else if height == 173 {
print("평균")
} else {
print("평균이하")
}
마지막으로 if-else문을 활용해 간단한 번호 추첨 기계를 만들어보겠습니다.
let num = Int.random(in: 1...5) //랜덤값을 줄때
print(num) //뽑은 번호 출력
if num == 3 { //번호가 3번이면 1등
print("1등 당첨")
} else if num == 5 { //번호가 5번이면 2등
print("2등 당첨")
} else { //나머지는 꽝
print("꽝")
}
switch-case
패턴 비교문이라고도 하는 Switch문은 가장 첫 번째 매칭되는 패턴의 구문이 실행됩니다.
switch 입력값 {
case 비교값1:
// 실행 구문
case 비교값2:
// 실행 구문
// 이 case를 마치고 switch 구문을 탈출하지 않음. 아래 case로 계속 진행
fallthrough
case 비교값3, 비교값4: // 한 번에 여러 값과 비교 가능
break // 탈출(종료)
default : // 한정된 범위가 명확하지 않다면 default사용 필수
//실행 구문
}
fallthrough : 각 case마다 break를 명시하지 않아도 자동으로 break가 되기때문에 true값을 얻으면 switch문을 빠져나오는데 무시하고 다음 case구문도 실행
default : 범위가 명확하지 않다면 default 사용은 필수
예시와 함계 switch문을 사용해 보겠습니다.
학원에서 영어점수에 따라 a,b,c반으로 나눕니다.
a반 = 90점이상
b반 = 80점이상 90점미만
c반 = 80점미만
let score = Int.random(in: 0...100)
switch score {
case 90...100:
print("a반")
case 80..<90:
print("b반")
case ..<80:
print("c반")
default:
print("점수가 이상합니다")
}
if와 switch를 배운다면 언제 if를쓰고 언제 switch를 쓰는지 궁금하게 됩니다.
결론부터 말하자면
if : 조건4개 미만
switch : 조건4개 이상
을 사용하는게 유리합니다.
이유는 CPU가 메모리상에서 연산을 하기 때문에 조건이 많은 if문을 사용한다면 시작시에만 인터럭션이 발생하는 Switch문과 다르게 조건마다 인터럭션이 발생하는 if문은 연산량이 늘어나기 때문입니다.
하지만 요새는 컴파일 성능이 좋기 때문에 가독성위주로 코딩을 해도 좋습니다.
'Swift 이해 > Swift 문법' 카테고리의 다른 글
[Swift] 프로퍼티 옵저버 (0) | 2023.06.19 |
---|---|
함수 (0) | 2023.05.16 |
반복문 (0) | 2023.05.14 |
컬렉션 데이터 타입 (0) | 2023.05.04 |
변수와 상수 , 자료형 , 기본 데이터 타입 (0) | 2023.05.03 |