[Swift] 조건문과 반복문

2024. 10. 10. 15:39·iOS/Swift

조건문

조건을 검사할 때에는 if, switch를 사용한다.

var age = 20
var student = ""

if age >= 8 && age < 14 {
    student = "학생"
} else if age < 17 {
    student = "중학생"
} else if age < 20 {
    student = "대학생"
} else {
    student = "기타"
}

student    // 기타

 

if문의 조건절에는 값이 정확하게 참, 거짓으로 나오는 Bool타입을 사용해야 한다. Swift는 타입 검사를 엄격하게 하기 때문에 다른 언어에서는 사용 가능한 !number 같은 코드는 사용하지 못한다.

 

 

!number 대신 number == 0을 사용하면 컴파일 에러가 나지 않는 것을 확인할 수 있다.

 

빈 문자열이나 배열 등을 검사할 때도 길이가 명확하게 0인지 아닌지를 검사해야 한다.

if name.isEmpty { ... }
if languages.isEmpty { ... }

 

 

 

반복문

switch

Swift의 switch구문은 Java와는 다르게 패턴 매칭이 가능하다.

위에서 작성했던 if문을 switch문으로 변경해보자.

switch age {
case 8..<14:
    student = "초등학생"
case 14..<17:
    student = "중학생"
case 17..<20:
    student = "고등학생"
default:
    student = "기타"
}

 

8..<14와 같이 범위(Range)안에 age가 포함되었는지의 여부를 검사할 수 있다.

 

 

for

반복되는 연산을 할 때는 for문이나 while문을 사용한다. for구문을 사용해서 배열과 딕셔너리를 차례로 순환할 때는 아래와 같이 사용한다.

for language in languages {
    print("저는 \(language) 언어를 다룰 수 있습니다.")
}

for (country, capital) in capitals {
    print("\(country)의 수도는 \(capital)입니다.")
}

 

for문 출력 결과


단순한 반복문을 만들고 싶다면 범위를 만들어서 반복할 수도 있다. 

for i in 0..<10 {
    i
}

 

만약 i를 사용하지 않고 단순한 반복을 하고 싶다면 i 대신 _를 사용해서 무시할 수도 있다. _ 키워드는 어디서나 변수 이름 대신에 유용하게 사용할 수 있다.

for _ in 0..<10 {
    print("Hello!")
}

 

 

 

while

while은 조건문의 값이 true일 때 계속 반복된다.

var i = 0
while i < 100 {
    i += 1
}

 

위와 같이 while문을 작성하면 i가 100이 되기 전까지 계속 반복된다.

i는 0에서 시작해서 1씩 누적되고 100이 되면 while문을 벗어난다.

 

 

 


🐣 출처: 전수열님 GitBook

 

이 글은 전수열님의 깃북을 참고하여 작성한 글입니다.

 

저작자표시 비영리 변경금지 (새창열림)
'iOS/Swift' 카테고리의 다른 글
  • [Swift] 함수와 클로저
  • [Swift] 옵셔널(Optional)
  • [Swift] 변수와 상수
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    Swift
    성능최적화
    JPA
    다형성
    자바스크립트
    jsp
    html
    스프링
    sql
    백준
    게시판만들기
    의존성주입
    DB
    spring
    생성자
    Database
    알고리즘
    자바
    객체
    MVC
    HTTP
    Security
    최주호
    Spring Security
    Java
    데이터베이스
    프로그래머스
    김영한
    javascript
    변수
  • hELLO· Designed By정상우.v4.10.0
뚜비
[Swift] 조건문과 반복문
상단으로

티스토리툴바