Select Page

Kotlin when

Jaroslav Beňo

22/05/2020

Predstav si, že napíšeš aplikáciu, kde používateľ bude čítať dáta z konzoly, ak niečo zadá, tak sa má niečo vykonať, ak zadá niečo iné, tak sa vykoná niečo iné. Napríklad budeš mať aplikáciu, kde používateľ bude vyberať smer kade má ísť. Ak napíše SEVER, tak na konzolu niečo vypíšeme, ak napíše JUH, tak sa stane niečo iné.

Mohol by som to písať pomocou if else if else a tak ďalej, ale v takomto prípade je lepšie použiť when. Teda when použi všade tam  kde by si písal viacej if else príkazov pod sebou.

Napíšeme príkaz when a zátvorky, do zátvoriek pošleme premennú, ktorá sa bude meniť – niekedy tam príde SEVER, niekedy JUH a podobne. Ďalej dáme kučeravé zátvorky, kde napíšeme, čo sa má diať:

val smer = "SEVER";
when(smer){
    "SEVER" -> println("Idem na sever bude zima.")
    "JUH" -> {
        println("Idem na JUH")
        println("Beriem plavky")
    }
}

Teraz keď spustím program tak v smer je SEVER a vo when sa spustí kód za šípkou vedľa SEVER. Ak by som zmenil smer na JUH, tak sa spustí kód za šípkou vedľa JUH. Ak by sme bol napríklad VYCHOD, tak sa nestane nič, lebo som to nešpecifikoval vo when.

Ak v smer bude niečo iné ako mám možnosti vo when, tak môžem na to reagovať. Teda ak som nič nenašiel vo when, môžem dopísať else.

when(smer){
    "SEVER" -> println("Idem na sever bude zima.")
    "JUH" -> {
        println("Idem na JUH")
        println("Beriem plavky")
    }
    else -> println("Zadal si smer, ktorý nepoznám")
}  

Vo when bloku vieme na ľavú stranu šípky vložiť hocijaký príkaz, ktorý vráti hodnotu. Napríklad 2*5, alebo zavoláme funkciu. Logicky tam ale musí vzniknúť taký typ, ako je typ premennej, nad ktorou sa rozhodujeme – v tomto prípade smer a to je String.

fun main(args: Array<String>) {
    val smer = "SEVER";
    when(smer){
        "SEVER" -> println("Idem na sever bude zima.")
        ""+10*5 -> println("jaro")
        davajString() -> println("vysledok davaj string")
        else -> println("Zadal si smer, ktorý nepoznám")
    }
}

fun davajString(): String {
    return "Jaro"
}  

Môžeme používať aj range, o ktorých sa budeme rozprávať neskôr (v inom článku) a ktoré sa používajú napríklad aj vo for cykle.

Napr. ak je číslo medzi 5 a 10 (5..10), tak vojdem do tej vetvi kde bude in 5..10 – čo ak to chcem preložiť do slovenčiny> ak je číslo v rozmedzí 5 až 10 tak vojdi do tejto vetvi.

val cislo =6
when(cislo){
    1 -> println("je to cislo 1")
    in 5..10 -> println("je to cislo medzi 5 az 10")
}

Najnovšie články

O autorovi: Jaroslav Beňo

Jaro je v skratke kresťan, manžel, otec a programátor. Na tomto webe sa venuje programovaniu. Jeho túžbou je šíriť vedomosti ďalej, aby sme mohli spolu rásť.

Pripravil viacero online video kurzov. Jeho sociálne siete:

Podobné články

Kotlin podmienky if a if else

V tomto článku sa naučíš, čo je to podmienka a ako ju požiť. Poďme na to a poďme sa naučiť Kotlin podmienky if a if else. Základom každého algoritmu je podmienka. Ak niečo, tak niečo, alebo niečo iné. Napríklad ideš kúpiť vajíčka do obchodu: Je obchod otvorený? Ak...

Kotlin porovnávanie, rozdiel medzi == a ===

V tomto článku sa oboznámiš ako je to v Kotline s porovnávaním. Dozvieš sa aký je rozdiel medzi == a ===. Poďme na to v článku Kotlin porovnávanie, rozdiel medzi == a ===. V Jave ak by som porovnal dve premenné pomocou ==, tak sa porovná ich hodnota. V Kotline je...

Kotlin premenné

V tomto článku sa dozvieš čo sú to premenné a ako fungujú v programovacom jazyku Kotlin. Premenné sú jedným zo základných pilierov pri programovaní. Musíš vedieť, ako sa vytvárajú a na čo slúžia. Poďme na to Kotlin premenné. Premenné slúžia na uchovanie informácii...

Kotlin prvý program

V tomto článku sa dozvieš ako krok za krokom napíšeš svoj prvý program v Kotline. Potrebuješ vývojové prostredie IntelliJ IDEA a ostatné sa dozvieš v článku. Vytvoríme nový Kotlin/JVM project a dáme Next. Pomenujeme projekt a zašpecifikujeme umiestnenie....

Ako skonvertovať Java kód na Kotlin kód

V IntelliJ IDEA máme možnosť skopírovať java kód a po vložení do Kotlin kódu sa nás IDEA spýta, či daný kód chceme preložiť do Kotlin kódu. Toto je rýchli spôsob ako si vyskúšať ako by Java kód vyzeral v Kotline. A ty sa v tomto článku dozvieš ako na...

Kotlin úvod v skratke

V tomto článku sa ti v skratke budem snažiť povedať, čo je to Kotlin. Kotlin je programovací jazyk, ktorý vlastní JetBrains, ktorý vytvorili napríklad IntelliJ IDEA vývojové prostredie. Kotlin je navrhnutý tak, aby mohol byť spustený na JVM, tak ako iné java programy....

Kotlin plugin v IntelliJ IDEA

Pri programovaní aplikácie - programu v jazyku Kotlin vieme použiť napríklad IntelliJ IDEA vývojové prostredie. Ja toto prostredie odporúčam a v tomto článku sa dozvieš ako nastaviť Kotlin plugin v IntelliJ IDEA. V IntelliJ IDEA si musíme byť istý, že máme...

Share This

Páčil sa ti článok? Zváž zdieľanie. Ďakujeme.