본문 바로가기

Kotlin/Study

코틀린 - 반복문

반응형

코틀린의 반복문에 대한 설명입니다. 

코틀린의 반복문은 자바와 비슷하면서도 다르게 느껴집니다. 

예시를 통해서 먼저 살펴보겠습니다.

Ex 1)

자바보다는 훨씬 반복문이 간결해진 느낌입니다. 

첫번째 반복문은  매우 편하고 간단한 반복문으로 '..'을 사용합니다.

범위는 1 이상 10 이하의 숫자들이 나옵니다.

( 자세히 보시면 for문 괄호 안의 등호 표시로도 알 수 있습니다.)

두번째 반복문은 rangeTo 메서드를 이용했습니다. 범위를 표현하는 코틀린의 메서드로 역시 1부터 10까지의 숫자가 출력됩니다.

세번째는 until을 이용한 반복문입니다.

괄호를 보시면 아시다시피 1이상 10 미만의 수가 나옵니다. 

 

*****

for (i in 10..1)

이렇게 반복문을 작성하신 다면

warning - This range is empty. Did you mean to use 'downTo'? 라는 경고가 나옵니다.

출력은 아무것도 나오지 않습니다.

A..B는 A 이상 B 이하의 범위가 나오기 때문에 위에서 아래로 내려오는 반복문을 작성하고 싶으시면 downTo 메서드를 사용하시는 게 좋습니다.

*****


Ex 2)

 

두번째 예시입니다.

처음 반복문은 step을 썼습니다. 직관적으로 알 수 있듯이 특정 간격을 나타낼 수 있습니다.

두번째는 downTo 메서드입니다. 위 예시의 rangeTo의 반대 메서드라고 생각하시면 됩니다.

 

위의 4가지 예시만 아셔도 웬만한 반복문은 충분히 작성 가능합니다.

 


문자 범위 순환

두 번째로 알아볼 것은 문자 범위 순환입니다. 

바로 예시로 보여드리겠습니다.

Ex 1)

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))

    for (ch in 'a'..'f') {
        print(ch)
        // a b c d e f
    }

    for (ch in 'z'..'a') {
        print(ch)
        // 출력 X
    }
}

 

문자를 반복문으로 출력하는 방식입니다. 반복문은 정수를 출력하는 것과 비슷합니다.

위에서 말한 것처럼 'z'..'a' 방식의 반복문은 안 됩니다.

Ex 2)

fun main() {
    val br = BufferedReader(InputStreamReader(System.`in`))

    for (ch in 'a'.rangeTo('j')) {
        print(ch)
        // a b c d e f g h i j
    }
    
    for (ch in 'j'.downTo('a')) {
        print(ch)
        // j i h g f e d c b a
    }
}

 

마찬가지로 rangeTo, downTo 메서드 사용이 가능합니다.

 

읽어주셔서 감사합니다.

 

반응형

'Kotlin > Study' 카테고리의 다른 글

코틀린 - 문자열 포맷팅, 변수와 상수 정의  (2) 2022.11.20