반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- UIButton
- 후행 클로저
- tableViewCell
- IBOutletCollection
- IBOutlet
- 트레일링 클로저
- Remot Push
- SWiFT
- 연산 프로퍼티
- property wrapper
- RunLoop
- entrypoint
- 진입점
- DispatchQueue
- viewcontroller
- WWDC16
- for-in
- AppTransportSecurity
- 원격 푸시
- OperationQueue
- uikit
- userdefaults
- Choosing Between Structures and Classes
- TableView
- CoreLocation
- 동시성프로그래밍
- ios
- firebase
- Understanding Swift Performance
- weak
Archives
- Today
- Total
iOS 공부하는 감자
Day5) 연산자, 조건문, 반복문 + 알고리즘 본문
반응형
조건문
조건문의 종류
- if-else
- switch
if-else
- 조건절의 결과는 반드시 Bool 타입으로 참, 거짓을 나타내야 한다.
- 조건절을 순서대로 비교하고, 조건절이 true가 나오는 곳의 코드블럭을 실행한다.
- else를 작성하지 않아도 정상 작동한다.
switch
- 하나의 case를 실행시키면 조건문이 종료된다. ( fallthrough 키워드를 통해 바로 다음의 case를 연속으로 실행시킬 수 있다. )
- 비교할 값이 명확하게 한정적인 경우를 제외하면(ex-열거형) default를 작성해야 한다.
- 각 case에 범위 연산자 사용이 가능하다.
- case에 조건을 부여하고 싶다면 where절을 통해 부여할 수 있다.
-
let someInt: Int = 101 switch someInt { case 100: print("is 100") case let sm where sm > 100: print("over 100") fallthrough default: print("under 100") } // fallthrough 키워드로 조건에 관계없이 바로 아래의 case 추가 실행 // over 100 // under 100
반복문
반복문의 종류
- for - in
- while
for - in
- 반복 횟수가 명확할 때 사용하기 좋다.
- Collection Type을 순회할 때 사용하기 좋다.
- Dictionary를 순회하면 내부에는 (key, value) 상태의 튜플로 들어온다.
let someArray: [Int] = [1, 2, 3, 4, 5] for number in someArray { print(number) } // 1 // 2 // 3 // 4 // 5 let someDictionary: [Int: String] = [1: "one", 2: "two", 3: "three"] for (key, value) in someDictionary { print("\(key) : \(value)") } // 1 : one // 2 : two // 3 : three
while
- Bool Type의 조건이 성립하는 한 블록 내부의 코드를 반복 실행한다.
- repeat-while을 사용하여 코드블럭을 1회 실행한 후 조건을 검사할 수 있다.
- 조건에 변화를 주지 않으면 무한 루프에 빠질 수 있으므로 주의해야 한다.
-
var someInt: Int = 0 while someInt <= 5 { print(someInt) // someInt의 값을 수정하지 않으면 무한루프 someInt += 1 } // 0 // 1 // 2 // 3 // 4 // 5
forEach
- for-in과 마찬가지로 Collection Type을 순회하기 좋다.
- 순회하면서 사용할 작업을 클로저로 작성하여 매개변수로 넘겨준다.
- 반복문에서 사용하는 continue, break는 사용이 불가능하다.
-
let someArray: [Int] = [1, 2, 3, 4, 5] someArray.forEach({ print($0) }) // 1 // 2 // 3 // 4 // 5
구문 이름표
- 중첩된 반복문을 사용할 때 반복문을 제어하는 키워드 (break, continue..)를 명확하게 특정 반복문에 적용시키기 위해 사용한다.
- 반복문 앞에 이름과 콜론을 붙여서 구문의 이름을 정해준 후 제어 키워드와 구문 이름을 함께 사용하여 반복문을 제어한다.
-
gugudan: for n in 2...9 { for m in 1...9 { print("\(n) * \(m) = \(n*m)") // 구구단의 결과가 20이 나오면 구구단을 종료 if n*m == 20 { break gugudan } } }
알고리즘
반응형
'22 베이직 챌린지' 카테고리의 다른 글
Day7) 클래스와 구조체 (0) | 2022.01.09 |
---|---|
Day6) 함수, 파라미터, 클로저 (0) | 2022.01.08 |
Day4) 연산자, 조건문, 반복문 + 알고리즘 (0) | 2022.01.06 |
Day3) 배열, 딕셔너리, 세트, 열거형 + 알고리즘 (0) | 2022.01.05 |
Day2) String & String 보간법 / 타입 선언방법 + 알고리즘 (0) | 2022.01.04 |