Študijné materiály

Premenné

Pre deklarovanie a inicializáciu premennej v Kotline použijeme

  1. slovíčko var alebo val a za ním
  2. názov premennej
  3. dvojbodku
  4. typ premennej
  5. rovná sa
  6. hodnotu

Napríklad:

fun main() {
    var premenna: Int = 10
    val inaPremenna: Int = 20
}

Kotlin je dosť striktný čo sa týka neinicializovaných premenných, preto odporúčam každú premennú inicializovať. Ak premennú neinicializuješ pred jej prvým volaním, projekt ani neskompiluješ.

Premenná s označením var vie byť neskôr zmenená, premenná s označením val nie. Vždy keď je to možné používame val. Ak použijeme var väčšinou sa dá náš program zjednodušiť. Slovíčko var takmer nepoužívame.

var (variable) je premenná a jej hodnotu vieme kedykoľvek zmeniť val (value) je hodnota a jej hodnotu nevieme po inicializácii zmeniť

Type inference

Keďže je typ premennej veľmi ľahko predvídateľný, v Kotline väčšinou nemusíme typ premennej vôbec zapisovať, takže aj toto je valídny a oveľa častejšie používaný zápis:

fun main() {
    var premenna = 10
    val inaPremenna = 20
}

String interpolation

Ak máme nejakú premennú a chceme ju urobiť súčasťou String-u, potom vieme použiť String interpolation pomocou znaku $ nasledovne:

val name = "Janko"
val age = 10
println("Volam sa $name a mam $age rokov")

Alebo pri komplikovanejších zápisoch, či zápisoch, kde za interpoláciou chceme zapísať ďalšie písmeno medzeru použijeme zápis ${}

val myAge = 10
val sistersAge = 25
println("Ja mam $myAge rokov, moja sestra ma ${sistersAge}r, a spolu mame ${myAge + sistersAge}")

Úlohy

1. Nemenné premenné

Vytvor dve hodnoty (val) typu Int a na štandardný výstup vypíš na samostatných riadkoch výsledky operácií +-*/. Pri výpise používaj priamo tieto premenné, nie hardcoded výstup.

2. String + String

Skús vytvoriť 2 premenné typu String a sčitať ich. Ak sa dá dostať k výsledku, vypíš ho na štandardný výstup.

3. String + Int

Skús sčítať String + Int alebo Int + String a výstup vypísať na štandardný výstup. Ak to nepôjde skús použiť String interpolation.