코틀린을 배우기 위해서 인프런에서 강의를 구매하고 코틀린과 친해지고 기본기를 다지기 위해서 공부하는 중이다. 글 내용은 반복문을 다루는 방법이고 최태현님의 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide) 강의에 소금을 조금 친 내용이다
for-each문
Java vs Kotlin
// Java
for (Long number: numbers) {
System.out.println(number);
}
// Kotlin
for (number in numbers) {
println(number)
}
- Java는 : 사용, Kotlin은 in 키워드 사용하지만 동작은 동일
전통적인 for문 – 등차수열 활용
기본 범위 (Range)
for (i in 1..3) {
println(i) // 1, 2, 3
}
역순 (downTo)
for (i in 3 downTo 1) {
println(i) // 3, 2, 1
}
증가폭 지정 (step)
for (i in 1..5 step 2) {
println(i) // 1, 3, 5
}
until (마지막 값 제외)
for (i in until 5) {
println(i) // 1, 2, 3, 4 (5 제외)
}
progression (등차수열)
시작 값, 끝 값, 공차로 구성된 수열
- 1..3: 1에서 시작하여 3으로 끝나는 공차 1인 등차수열
- 3 downTo 1: 3에서 시작하여 1로 끝나는 공차 -1인 등차수열
- 1..5 step 2: 1에서 시작하여 5로 끝나는 공차 2인 등차수열
중위 호출 함수
downTo, step은 중위 호출 함수이다
// 중위 호출
3 downTo 1
1..5 step 2
// 일반 호출 (동일한 의미)
3.downTo(1)
(1..5).step(2)
withIndex() 활용
val fruits = listOf("사과", "바나나", "오렌지")
for ((index, fruit) in fruits.withIndex()) {
println("$index: $fruit")
}
// 0: 사과, 1: 바나나, 2: 오렌지
인덱스로 직접 접근
for (i in fruits.indices) {
println("$i: ${fruits[i]}")
}
while 문 (Java와 완전 동일)
var i = 1;
while (i <= 3) {
println(i)
i++
}
Kotlin의 for문은 등차수열(Progression)기반으로 동작하며, downTo, step, unitl 등의 중위 호출 함수를 통해 다양한 반복 패턴을 간결하게 표현할 수 있다
출처 – 인프런 강의 중 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)