Hoy os voy a dejar una pequeña entrada donde muestro los controles de flujo que existen en el lenguaje Kotlin, para que así lo entendáis mejor y podáis ejecutarlo. En el siguiente código muestro como funcionan los bucles y condiciones:
ControlFlow.kt
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
package com.albrivas.kotlin.bucles import android.util.Log // DOC: #https://kotlinlang.org/docs/reference/control-flow.html class ControlFlow { private fun showCase1() { // If val num1 = 5 val num2 = 10 if (num1 > num2) { Log.w("CONTROL-FLOW-1", "NUM1 es mayor que NUM2") } if (num2 > num1) { Log.w("CONTROL-FLOW-1", "NUM2 es mayor que NUM1") } } private fun showCase2() { // If Else val num1 = 5 val num2 = 10 if (num1 > num2) { Log.w("CONTROL-FLOW-1", "NUM1 es mayor que NUM2") } else { Log.w("CONTROL-FLOW-1", "NUM2 es mayor que NUM1") } // Como expresión if (num1 > num2) Log.w("CONTROL-FLOW-1", "NUM1 es mayor que NUM2") else Log.w("CONTROL-FLOW-1", "NUM2 es mayor que NUM1") val result = if (num1 > num2) num1 else num2 } private fun showCase3() { // When, lo que sería switch en Java val x = 1 // Con argumento (x) when (x) { 1 -> Log.w("CONTROL-FLOW-3", "x == 1") // case 1 2 -> Log.w("CONTROL-FLOW-3", "x == 2") // case 2 else -> Log.w("CONTROL-FLOW-3", "x es otro número") // case default, no es obligatorio } when (x) { 0, 1 -> Log.w("CONTROL-FLOW-3", "x == 0 o x == 1") // case 0 y 1 } // Sin argumento (x) when { (x % 2 == 0) -> Log.w("CONTROL-FLOW-3", "número par") (x % 2 == 1) -> Log.w("CONTROL-FLOW-3", "número impar") } // Sin argumento y devolviendo un valor val esPar = when { (x % 2 == 0) -> true else -> false } } private fun showCase4() { // Bucles For val numbers = arrayOf(1, 2, 3, 4, 5) for (number in numbers) Log.w("CONTROL-FLOW-4", number.toString()) // Especificando el tipo for (number: Int in numbers) { Log.w("CONTROL-FLOW-4", number.toString()) } // Con índices for((index, number) in numbers.withIndex()) { Log.w("CONTROL-FLOW-4", "$index: $number") } } private fun showCase5() { // while & do while var x = 10 while (x > 0) { Log.w("CONTROL-FLOW-5", x--.toString()) } do { Log.w("CONTROL-FLOW-5", "Primera y única iteración") } while (x > 0) } fun showCases() { showCase1() showCase2() showCase3() showCase4() showCase5() } } |
0 comentarios