Kotlin (코틀린)

[Kotlin] 코틀린의 for문 / in · .. · until · step · downTo · indices

Oscar:) 2024. 6. 3. 09:00

 

 

코틀린에서 for문을 사용하는 방법을 알아보겠다.

 

각 문법마다 하나씩 직접 테스트해보는 내용이니,

문법 요약만 필요한 사람은 최하단의 요약 탭으로 이동하기 바란다.

 

 

 


기본 사용법 : ( in  .. )

 

 

코틀린에서의 for문은 자바와 조금 다르다.

문법을 먼저 보자.

// 자바 for문
for (초기화식 ; 조건식 ; 증감연산) { 반복할 내용 }


// 코틀린 for문
for (변수 in 범위) { 반복할 내용 }

 

 

대표적인 특징으로는 코틀린에서는 세미 콜론(;)을 사용하지 않는다.

 

그리고 in 연산자를 사용하며 범위는 마침표 2개(..)로 표현할 수 있다.

 

 

 

이제 예시를 보겠다.

for (i in 0..5) {
	println(i)
}

 

결과)

 

0부터 5까지 모두 출력한 것을 확인할 수 있다.

 

 

 


한 줄로 표현하기 : 중괄호{} 생략

 

 

만약 중괄호{} 안에서의 동작이 한 줄로 간단히 표현 가능하다면,

if문 표현과 동일하게 중괄호를 생략하고 표현할 수 있다.

 

for (i in 0..5) println(i)

 

깔 - 끔

 

 

 


일정 횟수 건너뛰기 : step

 

 

step 키워드를 사용하여 증감을 조절할 수 있다.

 

for (i in 1 .. 5 step 2) println(i)

 

결과)

 

위와 같은 방법으로 홀수 / 짝수를 필터링할 수도 있다.

 

 

 


마지막 범위 제외 : ( in until )

 

 

Array.length or List.size 등을 다룰 때,

우리는 해당 범위의 마지막 요소는 제외하는 for문을 많이 사용하곤 한다.

 

for (i in 0 until 5) println(i)

 

그럴 때는 마침표 2개(..) 대신 until 키워드를 사용할 수 있다.

 

 

결과)

 

5 이전까지만 출력한 것을 확인할 수 있다.

 

 

 


Collection 사용 시 : ( indices )

 

 

위에서 Array나 List를 사용할 때 until 키워드를 언급했지만,

사실 Collection에 해당하는 클래스를 다룰 때는 해당 Collection 객체만 사용해도 된다.

 

val array = arrayOf(0, 1, 2, 3)

for (i in array) println(i)

 

문법이 간단하여 확장 for문 또는 foreach문과 비슷한 형태로 느껴진다.

 

 

또는 아래와 같이 해당 Collection의 index를 얻어오는 indices를 사용할 수도 있다.

val array = arrayOf(0, 1, 2, 3)

for (i in array.indices) println(i)

 

 

결과)

 

두 방법 모두 해당 Collection의 길이만큼만 출력해준다.

 

 

 


하행으로 반복하기 : ( in downTo )

 

 

이번에는 1부터 5까지가 아닌, 5에서 1까지 출력해보자.

for (i in 5 .. 1) println(i)

 

위처럼 기본 범위 연산자(..)를 사용하면 아무것도 출력되지 않는다.

 

 

 

하행 반복을 할 때는 downTo 키워드를 사용한다.

for (i in 5 downTo 1) println(i)

 

결과)

 

 

 


✅ for문 키워드 요약

 

 

● for (i in 0 .. 3) print(i)

  출력 → 0 1 2 3

 

for (i in 0 until 3) print(i)

  출력  0 1 2

 

for (i in 0 .. 5 step 2) print(i)

  출력  0 2 4

 

for (i in 3 downTo 0) print(i)

  출력  3 2 1 0

 

for (i in Collection) print(i)

  출력  Collection의 크기만큼 반복

 

 

 


 

 

 

코틀린의 for문에 대해 알아보았다.

자바와 비교했을 때 정말 편리하긴 하지만, 다양한 키워드를 숙지해야 한다.