코틀린에서 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문에 대해 알아보았다.
자바와 비교했을 때 정말 편리하긴 하지만, 다양한 키워드를 숙지해야 한다.
'Kotlin (코틀린)' 카테고리의 다른 글
[Kotlin] JSON (1) - JSON 이란? (2) | 2024.07.20 |
---|---|
[Kotlin] 문자열 공백 제거 / trim() / replace() (0) | 2024.06.30 |
[Kotlin] 클래스 · 자료형 이름을 내 마음대로 사용하기 / 클래스에 별명 붙이기 / 자료형에 별명 붙이기 (0) | 2024.06.02 |
[Kotlin] 스마트 캐스트 - Number / Any / is 연산자 / as 연산자 (0) | 2024.05.26 |
[Kotlin] 문자열 이어 붙이기 / 형식화된 다중 문자열 사용하기 / ($, """) 기호 (2) | 2024.05.21 |