범위 연산자 (`..`, `rangeTo`, `step`) - swkim0128/PARA GitHub Wiki
코틀린의 **범위 연산자(Range Operator)**는 숫자, 문자 등의 값이 특정 범위에 포함되는지 확인하거나 반복문에서 사용할 수 있도록 범위를 생성하는 기능을 제공합니다.
- a..b: a에서 b까지 포함하는 범위를 생성합니다.
예제
fun main() {
val range = 1..5
println(range.toList()) // 출력: [1, 2, 3, 4, 5]
}
- 1..5는 [1, 2, 3, 4, 5]를 포함하는 범위를 생성합니다.
- a.rangeTo(b)는 a..b와 동일한 동작을 합니다.
- 가독성을 위해 .. 연산자가 더 많이 사용됨.
예제
fun main() {
val range = 1.rangeTo(5)
println(range.toList()) // 출력: [1, 2, 3, 4, 5]
}
- 내림차순으로 범위를 생성할 때 사용합니다.
예제
fun main() {
val range = 5 downTo 1
println(range.toList()) // 출력: [5, 4, 3, 2, 1]
}
- **step(n)**을 사용하여 범위의 간격을 조절할 수 있습니다.
예제
fun main() {
val range = 1..10 step 2
println(range.toList()) // 출력: [1, 3, 5, 7, 9]
}
- 1..10 step 2 → [1, 3, 5, 7, 9] (2씩 증가)
fun main() {
val range = 10 downTo 1 step 3
println(range.toList()) // 출력: [10, 7, 4, 1]
}
- 10 downTo 1 step 3 → [10, 7, 4, 1] (3씩 감소)
- 값이 특정 범위에 속하는지 확인할 때 사용합니다.
예제
fun main() {
val number = 5
if (number in 1..10) {
println("$number는 1부터 10 사이에 포함됩니다.") // 출력됨
}
if (number !in 10..20) {
println("$number는 10부터 20 사이에 포함되지 않습니다.") // 출력됨
}
}
범위는 반복문에서 자주 사용됩니다.
fun main() {
for (i in 1..5) {
println(i) // 출력: 1, 2, 3, 4, 5
}
}
fun main() {
for (i in 10 downTo 1 step 2) {
println(i) // 출력: 10, 8, 6, 4, 2
}
}
- 문자 범위도 숫자와 동일한 방식으로 사용할 수 있습니다.
예제
fun main() {
val charRange = 'a'..'e'
println(charRange.toList()) // 출력: [a, b, c, d, e]
if ('c' in charRange) {
println("'c'는 범위 내에 있습니다.") // 출력됨
}
}
- until은 마지막 값을 포함하지 않음 (..과 다름).
예제
fun main() {
for (i in 1 until 5) {
println(i) // 출력: 1, 2, 3, 4 (5는 포함되지 않음)
}
}
- reversed()를 사용하면 범위를 역순으로 만들 수 있습니다.
예제
fun main() {
val range = (1..5).reversed()
println(range.toList()) // 출력: [5, 4, 3, 2, 1]
}
연산자/함수 | 설명 | 예제 | 결과 |
---|---|---|---|
.. | 시작부터 끝까지 포함하는 범위 | 1..5 | [1, 2, 3, 4, 5] |
rangeTo() | ..과 동일 | 1.rangeTo(5) | [1, 2, 3, 4, 5] |
downTo | 내림차순 범위 | 5 downTo 1 | [5, 4, 3, 2, 1] |
step(n) | 간격 조절 | 1..10 step 2 | [1, 3, 5, 7, 9] |
until | 끝 값을 포함하지 않는 범위 | 1 until 5 | [1, 2, 3, 4] |
reversed() | 범위를 뒤집음 | (1..5).reversed() | [5, 4, 3, 2, 1] |
✅ .. 연산자로 간단하게 범위를 생성할 수 있음. ✅ downTo, step, until을 활용하면 다양한 방식으로 범위를 조절할 수 있음. ✅ in 연산자를 사용하면 값이 특정 범위에 포함되는지 쉽게 확인 가능. ✅ for 루프에서 range를 사용하면 반복문이 더욱 간결해짐.
💡 범위 연산자를 활용하면 반복문과 조건문을 더욱 깔끔하게 작성할 수 있습니다! 🚀