Page cover image

Estructuras de control

En esta sección vamos a repasar las estructuras de control que son diferentes a Java

Bucle for

La sintaxis del bucle for en Kotlin es muy similar a la del for-each en Java

En Kotlin desaparece los tipos primitivos, lo cual simplifica considerablemente el sistema de tipos, ya que en este lenguaje todos los valores son objetos.

Java

List<Integer> numbers = List.of(1, 2, 3);
for(Integer number: numbers) {
    System.out.println(number);
}

Kotlin

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

Bucle fori

El bucle fori no existe en Kotlin de manera explícita, podemos hacer algo similar usando el bucle for y el campo indices.

Java

List<Integer> numbers = List.of(1, 2, 3);
for(int i = 0; i< numbers.size(); i++) {
    System.out.println(numbers.get(i));
}

Kotlin

val numbers = listOf(1, 2, 3);
for(i in numbers.indices) {
    println(numbers.get(i));
}

Switch / when

La estructura de control switch de Java se traduce en la estructura when en Kotlin

Java

int dayAsInt = 1;
switch (dayAsInt) {
    case 1:
        System.out.println("Sunday");
        break;
    case 2:
        System.out.println("Monday");
        break;
    case 3:
         System.out.println("Tuesday");
        break;
    case 4:
        System.out.println("Wednesday");
        break;
    case 5:
        System.out.println("Thursday");
        break;
    case 6:
        System.out.println("Friday");
        break;
    case 7:
        System.out.println("Saturday");
        break;
    default:
        System.out.println("invalid day");
}

Kotlin

val dayAsInt = 1

when (dayAsInt) {
    1 -> println("Sunday")
    2 -> println("Monday")
    3 -> println("Tuesday")
    4 -> println("Wednesday")
    5 -> println("Thursday")
    6 -> println("Friday")
    7 -> println("Saturday")
    else -> {
        // notice you can use a block
        println("invalid day")
    }
}

Última actualización

¿Te fue útil?