Select Page

Kotlin podmienky if a if else

Jaroslav Beňo

22/05/2020

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 áno, tak idem do obchodu, ak nie, tak nikde nejdem. Je vajíčko v poriadku? Ak áno, tak si ho vezmem do košíku. Mám dosť vajíčok? Ak áno, tak končím s naberaním, ak nie naberiem ďalšie vajíčko a podobne.

V jave vieme podmienky spájať alebo ich nechať samostatne. Čo to znamená? Vysvetlime si na príklade:

if (number > 10) {
    println("number is > 10")
}

if (number < 10) {
    println("number is < 10")
} 

V tomto príklade sa pýtame. Je číslo väčšie ako 10? Ak áno, tak vypíšem do konzoly text. Potom kód pokračuje vo vykonávaní ďalej a na ďalších riadkoch mám ďalšiu podmienku. Je číslo menšie? Ak áno vypíšem na konzolu. Pýtali sme sa dvakrát. Vieme ale kód upraviť a podmienky spojiť pomocou if else. To využiješ ak podmienky spolu súvisia.

if (number > 10) {
    println("number is > 10")
} else if (number < 10) {
    println("number is < 10")
} 

Ak je číslo väčšie ako 10, tak sa vypíše do konzoly a druhá časť podmienky else sa nebude vykonávať. Oproti prvému príkladu sme si ušetrili počet vykonaných príkazov.

If else si kľudne v hlave prelož do slovenčiny ako ak (if) inak (else). Ak (if) number je >10 tak vypíš (println) inak vykonaj to čo je za else. Teraz tam máme if. Teda inak (else) sa spýtaj, či je číslo menšie ako 10. Ak áno vypíš.

Tým, že sme za else pridali ďalší if sme predĺžili možnosti. Ak by som za else nedal if ale pokračoval by som else blokom – vykonal by sa len kód za else v zátvorkách.

if (number > 10) {
    println("number is > 10")
} else if (number < 10) {
    println("number is < 10")
} else {
    println("number == 10")
} 

Takéto napojenie by nebolo možné:

if (number > 10) {
    println("number is > 10")
} else if (number < 10) {
    println("number is < 10")
} else {
    println("number == 10")
}else if (){

} 

Posledné else if by bolo chybné, lebo else môže byť napojené len za if blokom.

Čo všetko môže ísť do if zátvoriek? Do zátvoriek môže ísť hocijaký výraz, ktorý mi na konci vráti true alebo false. Ak tam bude true, tak je podmienka splnená a vojdeme do if bloku. Ak tam bude false, tak sa vnútro if bloku preskočí a ideme na else a ak tam else nejde, tak sa pokračuje vo vykonávaní kódu.

Príklady:

if(isNubmer()){

}
//....
fun isNubmer(): Boolean {
    return false
}  
val isNumber = true
if (isNumber) {

} 
if ("Text".isEmpty()) {

}
if( (10+100) == 110 ){

}

== rovnosť                        ľavá strana so rovná pravej

!= nerovnosť                     ľavá strana sa nerovná pravej

&& logický súčin              platí ľavá aj pravá strana AND – a zároveň

|| logický súčet                platí ľavá alebo pravá strana OR

< menší                              ľavá strana je menšia ako pravá

> väčší

<=

>=

V podmienke vieme spájať viacero podmienok. Napríklad chcem aby bolo v podmienke aby číslo bolo menšie ako 100 a zároveň väčšie ako 10.

if(number < 100 &amp;&amp; number > 10){
   
}

Dva výrazy som spojil pomocou && čo znamená, že celá podmienka je splnená ak ľavá strana je splnená a zároveň aj pravá strana je splnená. Teda ak by som mal číslo 5, tak je menšie ako 100 ale nie je väčšie ako 10 a teda celý if by bol false a nevošlo by sa do if bloku.

Vieme aj negovať ak napíšeš výkričník.

Ak nie je číslo:

if(!isNumber()){

}

Podmienky vieme zgrupovať pomocou zátvoriek. Každá grupa sa vyhodnotí samostatne do true alebo false a pripojí sa k zvyšku:

if ((!isNumber() || number > 100) &amp;&amp;
    ("Jaro".isEmpty() &amp;&amp; "Jaro".equals(name, ignoreCase = true)) ) {
}  

V tomto príklade máme 2 grupy.

  1. grupa1: (!isNumber() || number > 100)
      grupa2: ("Jaro".isEmpty() && "Jaro".equals(name, ignoreCase = true))

Tieto grupy si samostatne vyhodnotia true alebo false a vykoná sa grupa1 && grupa2 a vo výsledku bude jeden false alebo true.

kotlin baner

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 triedy a konštruktory

Trieda slúži na opis a výrobu objektov. Skúsme porozmýšľať nad reálnym objektom – napríklad auto. Ak chceme opísať auto do programu, tak na opis auta použijeme triedu. Čo má auto? Aké vlastnosti? Má počet dverí, značku, ečv, objem kufra a ďalších xy vecí. Nie...

Kotlin range

Range ako názov hovorí je rozpätie hodnôt. V tomto článku sa pozrieme na to ako Kotlin pracuje s range. Poďme sa pozrieť na príklady. Použitie v podmienke: if (i in 1..4) { // equivalent of 1 <= i && i <= 4 print(i) } Prechádzanie cez hodnoty rangu:...

Kotlin dátové typy

Java a Kotlin sú zameniteľné jazyky. Vieš ich obidva použiť v jednom programe, pretože nakoniec z nich bude .class súbor. Tým pádom typy, ktoré pozná Kotlin, pozná aj Java. Sú rozdiely, ktoré už vieš. Nevieš napísať typ int, ale vieš ho používať...

Kotlin String templates

Pri vypisovaní textu často ku textu pridávame hodnoty z premenných. Spájanie Stringov vieme spraviť pomocou + kde pospájame hodnoty a Stringy: for((i, v) in mena.withIndex()){ print("" + i + " " + v + "\n") } Kotlin ale má krajšiu cestu: for((i, v) in...

Kotlin for cyklus

Cyklus alebo loop znamená, že niečo sa opakuje xy krát. Možno prechádzame čísla od 1 do 100, alebo prechádzame cez elementy v poli alebo liste. V tomto článku sa dozvieš ako použiť for cyklus. Predstav si, že chceš vypísať čísla od 0 do 10. Použijeme for cyklus kde...

Kotlin polia

Pole je zoskupenie jeden a viac prvkov. Na vytvorenie poľa použijeme funkciu arrayOf. Do pola môžeme dať hodnoty rôzneho typu. val mena = arrayOf("Jaro", "Peter"); val rozne = arrayOf("Jaro", 10, Osoba("Tomas", "145878/8787"), false, "Peter"); Aj miešame typy...

Kotlin when

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...

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....

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Share This

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