728x90
240314
Range Operators 범위 연산자
lowerBound <= upperBound
항상 upperBound 가 큰 숫자여야 한다
//Closed Range Operator
1...10
//내림차순의 범위
//(10...1).reversed()
//Half-open Range Operator
1..<10 //upperBound 는 포함되지 않는다
//범위 확인 하는 코드
let range = ...5
range.contains(5) //true
for-in Loop
//Hello 열번 출력
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
print("Hello")
같은 코드를 반복 할 때 한줄씩 쓰는 방법도 있지만 100줄 1000줄을 다 작성 할 순 없다
그래서 사용하는게 반복문 aka. for 문
for index in 1...10 { // 루프상수의 타입은 범위 표현식에 있는 타입과 같다
print("hello \(index)")
}
루프 상수의 타입은 정할 수 없고 범위 표현식에 있는 타입에 따라간다
//예제) 2의 거듭제곱을 구하는 코드
//1. 상수에 지수를 저장
let power = 10
//2. 변수를 만들어서 여기에 결과를 누적함
var result = 1
for _ in 1...power { // 3.루프상수는 생략, 1부터 지수에 저장된 범위까지 반복
result *= 2
print(result)
}
Q: 상수에 지수를 저장 하는 이유?
A: 값을 변경 하기 수월하기 때문
Q: 변수에다가 결과를 누적하는 이유?
A: 결과 값을 담아줄 공간이 필요하기 때문
for 문에 들어가는건 루프'상수' 이기 때문에 값을 변동할 수 없다
그래서 변수에다가 결과 값을 담아야함
result2 를 선언 해줘야 계산을 하지,,, result2 가 뭔지 컴은 몰라,,
Q: 루프 상수는 어디다가 써?
//예제) 1에서부터 10까지 합을 출력
var sum = 0
for num in 1...10 {
sum += num // 같은 코드: sum = sum + num
}
print(sum)
var result2 = 1
for i in 1...10 { //범위(1...10) 의 i 번째
result2 = result2 * 2
// 첫번째 값: 2 = 1(기존에 담겨 있던 값: 1) * 2 //오른쪽의 결과 값을 왼쪽에 담음
// 두번째 값: 4 = 2(첫번째 결과값: 2) * 2
print(result2, "순서임\(i)")
}
2씩 증가하는 함수 Stride
//예제2) 홀수의 합만 구하는 코드
var n = 0
for num in stride(from: 1, to: 10, by: 2) {
n += num //n = n + num
print("홀수 합계 \(n)")
}
//예제3 구구단
for i in 2...9 {
for j in 1...9 {
print("\(i) * \(j) = \(i * j)")
}
}
728x90
'iOS Swift > 문법' 카테고리의 다른 글
[Swift] Functions ,Parameter, Argument Label (2) | 2024.03.15 |
---|---|
[Swift] Break, continue Statement (3) | 2024.03.14 |
[Swift] Assignment Operators 할당 연산자 (0) | 2024.03.14 |
[Swift] Ternary Conditional Operator 조건 연산자 (0) | 2024.03.14 |
[Swift] Strings and Characters (0) | 2024.03.14 |
댓글