[KfS03]: Sintaxis Básica en Kotlin II. Java vs Kotlin Round #2.

José Manuel Espinoza
2 min readJul 4, 2017

--

Kotlin by JetBrains

En este articulo seguiremos estudiando la sintaxis básica de Kotlin, esta vez analizaremos los control flow o flujos de control. Comencemos con los condicionales.

If

Al igual que Java y muchos lenguajes en Kotlin tenemos el condicional if, donde podemos evaluar una declaración y dependiendo de ella hacer acción o retornar un valor.

En esta parte se puede ver que es tal cual como en cualquier lenguaje, no obstante lo curioso es que en Kotlin podemos asignar valores directamente.

Como podemos ver en el ejemplo, Kotlin nos permite simplificar bastante el código. Y que con Java podríamos lograr algo similar si hacemos uso del operador ternario. En Kotlin también podemos usar else if, no obstante para hacerlo mas legible es mejor when.

When

Esta opción es el reemplazo de Kotlin para switch, además a mi parecer es una opción más limpia y elegante que anidar varios “else if”.

Después de ver el uso de when como expresión, lo primero que paso por mi cabeza fue:

When > switch

Ahora analicemos su estructura: la variable age que recibe when sera lo que se evaluará contra las condiciones definidas dentro del bloque, siendo lo que esta delante del operador lambda (“->”) la condición contra la que se evaluará y si se determina que se cumple devolverá o ejecutara luego de dicho operador. También veremos casos donde no se pasara un argumento a when, en estos casos se evaluarán como booleano:

Range

En el ejemplo vemos el uso de in lo que nos permite verificar si la variable age se encuentra en los rangos especificados, a diferencia de python en estos rangos ambas puntas se incluyen. Su estructura es muy sencilla:

in primerValor..ultimoValor.

For Loop

En Kotlin tenemos el For Loop que nos permite iterar una lista, cualquier objeto o collection. Aqui podemos ver unos ejemplos de Kotlin vs Java:

Kotlin nos permite iterar usando rangos. Asimismo, Kotlin nos ofrece la posibilidad de iterar definiendo de la cantidad que debe aumentar en cada iteración usando la palabra reservada step o hacer un conteo regresivo usando downTo. Aquí vemos un ejemplo y su comparación con Java:

While y Do-while

Finalmente tenemos el while y do-while, cuyo funcionamiento es similiar a Java y demas lenguajes que lo soporten.

Eso es todo por esta vez.

Happy coding.

--

--