Welcome! Everything is fine.

[Kotlin] 6강. 코틀린에서 반복문을 다루는 방법 본문

Kotlin

[Kotlin] 6강. 코틀린에서 반복문을 다루는 방법

개발곰발 2023. 12. 6.
728x90

* 인프런 강의 - 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)을 듣고 정리한 내용입니다.

 

🔗 5강 내용

 

[Kotlin] 5강. 코틀린에서 조건문을 다루는 방법

* 인프런 강의 - 자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)을 듣고 정리한 내용입니다. 🔗 4강 내용 [Kotlin] 4강. 코틀린에서 연산자를 다루는 방법 * 인프런 강의 - 자바 개발자를 위

3uomlkh.tistory.com

6강. 코틀린에서 반복문을 다루는 방법

for-each문(향상된 for문)

코틀린과 자바의 향상된 for문은 거의 유사하다.

다른점은 컬렉션을 만드는 방법과 콜론(:) 대신 in을 사용한다는 것!

아래 코드에서 numbers 자리에는 자바와 동일하게 Iterable이 구현된 타입이라면 모두 들어갈 수 있다.

val numbers = listOf(1L, 2L, 3L)
for (number in numbers) {
    println(number)
}

전통적인 for문

코틀린에서 전통적인 for문은 다음과 같이 in과 ..연산자를 이용해서 사용할 수 있다.

 for (i in 1..3) {
   println(i)
}

 

거꾸로 출력해야할 때는 다음과 같이 downTo를 사용할 수 있다.

 for (i in 3 downTo 1) {
   println(i)
}

 

특정 숫자만큼 건너뛰고 싶다면 step을 사용할 수 있다.

 for (i in 1..10 step 2) {
   println(i)
}

Progression과 Range

이번 강의를 들으며 흥미로웠던 점은 그냥 무의식적으로 사용하고 있던 ..연산자가 사실은 등차수열을 만들어내고 있었다는 점이다. ..연산자는 범위를 만들어 내는 연산자인데, 여기서 '범위'를 만들어내는 Range라는 클래스가 존재한다. Range는 Progression(등차수열)을 상속받고 있다.

 

즉 1..3의 의미는? → "1에서 시작해서 3으로 끝나는 등차수열을 만들어 줘!"라는 의미다.👀

 

예를 들면 3 downTo 1은 시작값 3, 끝값 1, 공차가 -1인 등차수열을 의미하고, 1..5 step 2는 시작값 1, 끝값 5, 공차가 2인 등차수열을 의미한다.(여기서 downTo와 step은 함수이다!)

 

한 줄 요약 : 코틀린에서 전통적인 for문은 등차수열을 이용한다.

while문

while문은 코틀린과 자바가 똑같다.

var i = 1
while (i <= 3) {
  println(i)
  i++
}