본문 바로가기
Kotlin Language/Kotlin 기본 문법

Kotlin(코틀린) - 반복문(for, while, do-while) 흐름제어

by Classic Master 2023. 11. 28.
728x90

반복문은 어떠한 코드가 주어졌을 때 반복적으로 실행하고자 할 때 사용합니다.

조건식을 동작하여 어떤 값을 100번 실행을 할 때, 200번 출력할 때 편리하게 사용할 수 있습니다.

For문

가장 기본적인 형태의 문법입니다

다음은 listOf를 사용하여 for문을 사용해보겠습니다.

val numbers = listOf(1, 2, 3, 4, 5) // 1,2,3,4,5를 가지고 있는 리스트를 만듭니다.

for (number in numbers) { //number라는 변수는 numbers에 리스트를 넣습니다.
    println(number) //출력합니다.
}

numbers의 리스트를 number에 담아서 출력합니다. for문은 계속 반복되기 때문에 처음 값은 1을 넣고 순서대로 마지막 숫자까지 넣습니다. 모든 게 소멸되고 반복될 것이 없을 때 for문은 멈추게 됩니다.


While문

for문과 비슷한 기능을 하고 있는 문법입니다. 

for문과의 차이가 있다면 while 문은 조건식이 참(True)일 경우에만 반복합니다.

var i = 0

while (i < 5) {
    println(i)
    i++
}
  • i가 0값으로 초기화하고, i가 5보다 작을 때 i++(증감연산자)로 반복되어 집니다.
  • 출력 값은 0, 1, 2 ,3,  4가 나옵니다.

Do-while

  • 앞에 While문과 같지만 조금 다른 형태를 가지고 있습니다. 
  •  while 반복문의 경우에는 처음부터 조건을 판단해서 해당 조건이 맞지 않다면 내부 명령을 실행하지 않지만, do-while의 경우에는 최소 한 번은 실행해야할 때 사용합니다.
  •  
var j = 0

do {
    println(j)
    j++
} while (j < 5)
  • 일단 코드 블록을 실행 한뒤, 그 후에 조건을 검사합니다.

반응형

흐름 제어와 레이블

  • 코틀린 문법안에서 'break' , 'continue'를 사용하여 반복문을 제어 할 수 있습니다.
  • 레이블을 이용하면 중첩된 반복문에서 특정 반복문을 지정하여 제어할 수도 있습니다.
  • break : 반복문을 종료하고 해당 반복문 블록을 빠져나갑니다.
  • continue : 반복문의 현재 반복을 종료하고 다음 반복을 시작합니다.
// 짝수만 출력하기
for (i in 1..10) {
    if (i % 2 != 0) {
        continue  // 홀수인 경우 출력을 건너뛰고 다음 반복으로 진행
    }
    println(i)
}
// 1부터 시작해서 5까지만 출력하기
for (i in 1..10) {
    println(i)
    if (i == 5) {
        break  // i가 5일 때 루프 종료
    }
}

 

레이블

코틀린에서 모든 표현식은 @을 사용하여 label 형태를 부여할 수 있습니다.

outer@ for (i in 1..3) {
    for (j in 1..3) {
        println("i = $i, j = $j")
        if (i == 2 && j == 2) {
            break@outer
        }
    }
}
  • outer라는 라벨을 부여하고, 사용하게 되면 for문 안쪽이 아닌 외부 반복문을 break를 통하여 종료하게 됩니다. 
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
//따라서 이렇게 출력됩니다.
//j가 2일 때 외부 반복문이 종료되기 때문에 i = 2, j = 2의 출력은 없습니다.
728x90
반응형