일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IOS
- 주간 달력
- ios 개발 강의
- 코드스니펫
- On branch is up to date with ' '
- unrecognized selector sent to class
- 회고
- Switch
- actionSheet
- 다짐글
- Git
- 제어전송문
- SWIFT
- 글또9기
- error해결
- 바이트디그리
- struct
- 연관값
- 글또
- 내_삶
- weekly calendar
- 파스칼표기법
- avaliable
- 생명주기
- copy-on-write
- uikit
- AnyObject
- K디지털기초역량훈련
- MyLife
- class
- Today
- Total
seong_hye, the developer
Swift) 문법 정리 - 반복문 본문
반복문이 무엇일까?
지정된 조건에 만족할 때까지 반복저긍로 수행하는 구문
for - in문
어떤 컬렉션이나 숫자 범위에 포함된 일련의 항목들을 반복하는 데 사용
사용하기 쉬운 반복문 옵션을 제공
for 상수명 in 컬렉션 또는 범위 {
//code
}
- 상수명 : 상수로 사용되는 이름
반복문이 실행되는 컬렉션 또는 범위의 현재 항목을 담게 되는 값
반드시 선언해야하는 것은 아님
- 컬렉션 또는 범위: 반복문을 통해 참조
문자열, 범위 연산자, 컬렉션(배열, 딕셔너리, Set)이 될 수 있음
var count = 0
for _ in 1...5 {
count += 1
} // count = 15
주의할 점!
중괄호는 변수가 적용가능한 범위를 의미
- 중괄호 내에서 밖의 변수는 접근 가능
- 중괄호 밖에서 중괄호 내의 변수는 접근 불가능
for문의 컬렉션 또는 범위 위치에서 많이 사용되는 함수
- (1...10).reversed() : 숫자를 역순으로 정렬하는 함수
for i in 1...10.reversed() {
print(i) // 10, 9 , 8 ,7, 6, 5, 4, 3, 2, 1
}
- stride(from: 1, to: 15, by: 2) : 숫자를 특정간격으로 범위를 생성하는 함수
- stride(from: 1, through: 15, by: 2) : 마지막 숫자를 포함하며 특정간격으로 범위를 생성하는 함수
let range = stride(from:1, to: 15, by: 2)
for num in range {
print(num) // 1, 3, 5, 7, 9, 11, 13 (마지막 숫자는 포함 x)
}
let range2 = stride(from: 1, through: 15, by: 2)
for num in range2 {
print(num) // 1, 3, 5, 7, 9, 11, 13, 15
}
while문
조건을 만족하는 동안 중괄호 안의 내용을 계속 반복적으로 실행함
while 참과 거짓을 판단할 수 있는 문장(조건문) {
//code (조건에 변화를 주는 문장)
}
주의할 점!
반드시 while문 내에서 조건을 변화시키는 코드 필요
~> 무한 루프에 걸릴 수 있음 ( 코드에서 빠져나올 수 없음)
var myCount = 0
while myCount < 100 {
myCount += 1
} // 99
repeat - while문
while문과 동일하지만 조건에 관계없이 일단 문장을 실행하고 난 뒤
조건에 따라 반복적으로 실행할지 여부 확인 후 다시 진행
var i = 1
repeat {
print(" 3 * \(i) = \(3 * i)")
i += 1 // 변화를 주는 문장
} while i <= 9
for문과 while문을 사용하는 차이는 무엇일까?
for 문: 프로그램 내에서 몇 번 반복해야 하는지 알고 있을 경우 유용
(범위, 컬렉션, 문자열, stride 등)
while문: 어떤 조건에 만족할때까지 반복해야 하는지 알 수 없는 경우 유용
(조건)
제어 전송문
반복문 내에서 쓰이는 제어전송 명령문(흐름 제어)
키워드 | 사용법 | 예시 |
continue | 반복문에서 다음 주기로 넘어가서 계속함을 의미 |
var i = 1 while i < 20 { i += 1 if ( i % 2) != 0 { continue } // 홀수일 경우에만 뛰어넘음 print( " i = \(i) ") } |
break | 반복문을 아예 중지 | var j = 10 for _ in 0..<100 { j += j if j > 100 { break } // j가 100을 넘으면 반복문 종료 print ( " j = \(j) " ) } |
참고자료)
'IOS' 카테고리의 다른 글
Swift) 문법 정리 - 클래스(Class) vs 구조체(Struct) (0) | 2022.07.12 |
---|---|
Swift) 문법 정리 - 옵셔널(Optional) / 옵셔널 바인딩 (0) | 2022.07.12 |
Swift) 문법 정리 - 조건문 (0) | 2022.07.12 |
Swift) 문법 정리 - 컬렉션 타입 (Collection) (0) | 2022.07.12 |
Swift) 문법 정리 - 함수 (0) | 2022.07.12 |