Kotlin

[Kotlin] 반복문

hyuuny 2022. 6. 1. 23:21

코틀린에서 반복문은 자바와 크게 다르지 않다.
아래 예제를 살펴보며 확인해보자!


1. for-each문
2. 전통적인 for문
3. while문


for-each문

숫자가 들어있는 리스트를 하나씩 출력하는 예제

Java

    List<Long> numbers = Arrays.asList(1L, 2L, 3L);
    for (long number : numbers) {
      System.out.println(number);
    }

Kotlin

    val numbers = listOf(1L, 2L, 3L)
    for (number in numbers) {
        println(number)
    }

for-each문 안에서 자바에서는 :를 사용했다면, 코틀린에서는 in을 사용하고, 자바와 동일하게 iterable이 구현된 타입이라면 모두 들어갈 수 있다. 이렇듯 자바와 코틀린의 for-each문은 크게 차이가 없다. 다만, 코틀린에서는 in을 사용한다는 점만 기억하자.


전통적인 for문

1부터 3까지 출력하는 예제

Java

    for (int i = 1; i <= 3; i++) {
      System.out.println(i);
    }

Kotlin

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


3부터 1까지 내려가며 출력하는 예제

Java

    for (int i = 3; i >= 1; i--) {
      System.out.println(i);
    }

Kotlin

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


2칸씩 올라가는 경우는?

Java

    for (int i = 1; i <= 5; i+=2) {
      System.out.println(i);
    }

Kotlin

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

코틀린의 ...연산자(등차수열)는 범위를 만들어내는 연산자로써, 1..3은 1부터 3까지 범위를 만들어줘! 라는 의미이다.

while문

1부터 3까지 출력하는 예제

Java

    int i = 1;
    while (i <= 3) {
      System.out.println(i);
      i++;
    }

Kotlin

    var i = 1
    while (i <= 3) {
        println(i)
        i++
    }

while문은 자바와 코틀린이 놀랍도록 다른 점이 하나도 없다.


정리

  • for-each문에서 Java는 :, Kotlin은 in을 사용한다.
  • 전통적인 for문에서 Kotiln은 등차수열(..)in을 사용한다.
  • 그 외 for문 문법은 모두 동일하다.
  • while문과 do while문은 완전 동일하다.