본문 바로가기

Kotlin

Kotlin - 반복문(for, while)

 
https://kotlinlang.org/docs/control-flow.html#for-loops

 

Conditions and loops | Kotlin

 

kotlinlang.org

For 문 (For loops)

for 문은 C#의 foreach 문과 동일하게 interator를 제공하는 타입이면 사용할 수 있다. 기본 사용 방법은 아래 와 같다.

val items = listOf("apple", "banana", "kiwi")

for (item in items) println(item)

// 코드 부분을 블록으로 감싸서 사용할 수 있다.
for (item in items) {
    println("item is $item")
}

For 문에 인자로 사용한 타입들

위에서 이야기 한 대로 iterator를 제공하는 타입으면 for 문의 대상 으로 사용 할 수 있다. 이는 구체적으로 Iterator<>를 반환하는 iterator()함수를 가지고 있는 타입:

  • next() 함수가 존재하는 타입
  • hasNext() 함수가 존재하는 타입

을 말한다.

숫자의 범위로 반복문을 실행 하고 싶을때는 range 표현식을 사용한다.

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

for (i in 6 downTo 0 step 2) {
	println(i)
}


range나 배열 기반의 for loop는 인덱스 기반 루프로 컴파일되고 iterator 객체를 생성하지 않는다.
배열을 인덱스 기반으로 순회하거나, for 문 안에서 index와 해당 index의 값을 모두 받아서 처리 하고 싶은 경우에는 아래와 같이 indices 속성이나 withIndex() 함수를 이용한다.

val items = listOf("apple", "banana", "kiwi")

for (index in items.indices) {
    println("item at $index is ${items[index]}")
}

for ((index, value) in items.withIndex()) {
    println("the element at $index is $value")
}

 


While (While loop)

while, do-while 문은  특정 조건을 만족하는 동안 코드 블록을 계속해서 실행하는 반복문 이다. while과 do-while은 조건의 참, 거짓을 판단하는 순서가 다르다.

  • while 문은 조건을 먼저 확인하고, 조건을 만족하면 코드 블록을 실행한다. 그리고 다시 조건을 확인한다.
  • do-while은 코드블록을 먼저 실행하고 그 이후에 조건을 확인한다. 조건을 만족하면 다시 코드블록을 반복하고, 그렇지 않으면 중단한다. 그렇기 때문에 무조건 1회 이상은 코드 블록이 실행 된다.
val items = listOf("apple", "banana", "kiwi")
var index = 0
while (index < items.size) {
    println("item at $index is ${items[index]}")
    index++
}

var executeCount = 1
do {
    println("this is ${executeCount}th do-while loop")
    executeCount++
} while (executeCount < 2)

 

break, continue

다른 언어들과 마찬가지로 break 명령어와 continue 명령어가 존재한다.

반응형

'Kotlin' 카테고리의 다른 글

Kotlin - Exceptions  (0) 2024.01.12
Kotlin - Returns and jumps  (0) 2024.01.11
Kotlin - 조건문  (2) 2024.01.07
Kotlin - 타입체크와 형 변환  (0) 2024.01.06
Kotlin - 데이터 타입 (배열)  (0) 2024.01.01