Kotlinove premenné a základné typy

V tomto tutoriále sa dozviete o premenných, ako ich vytvárať, a základné dátové typy, ktoré Kotlin podporuje pri vytváraní premenných.

Ako viete, premenná je umiestnenie v pamäti (úložná oblasť) na uchovávanie údajov.

Na označenie úložného priestoru by mala mať každá premenná jedinečný názov (identifikátor). Viac informácií o tom, ako pomenovať premennú v Kotline?

Ako deklarovať premennú v Kotline?

Na deklarovanie premennej v Kotline sa používa buď kľúčové slovo varalebo val. Tu je príklad:

 var language = "francúzština" val skóre = 95

O rozdieloch v používaní var a val pojednávame ďalej v článku. Zatiaľ sa zamerajme na deklaráciu premenných.

Jazyk je tu premennou typu Stringa scoreje premennou typu Int. Nemusíte určovať typ premenných; Kotlin to implicitne robí za vás. Kompilátor to vie podľa výrazu inicializátora („francúzština“ je a Stringa 95 je celočíselná hodnota vo vyššie uvedenom programe). Toto sa v programovaní nazýva odvodenie typu.

Typ však môžete výslovne určiť, ak chcete:

 var jazyk: String = "francúzština" skóre skóre: Int = 95

Počas deklarácie sme inicializovali premennú vo vyššie uvedených príkladoch. Nie je to však potrebné. Môžete deklarovať premennú a určiť jej typ v jednom príkaze a premennú inicializovať v inom príkaze neskôr v programe.

 jazyk var: String // deklarácia premennej typu String … jazyk = "francúzština" // inicializácia premennej skóre skóre: Int // deklarácia premennej typu Int … skóre = 95 // inicializácia premennej 

Tu je niekoľko príkladov, ktoré vedú k chybe.

 var language // Chyba jazyka = "francúzština"

Tu nie je výslovne uvedený typ premennej jazyka, ani sa premenná neinicializuje počas deklarácie.

 var language: String language = 14 // Chyba

Tu sa snažíme priradiť 14 (celočíselná hodnota) premennej iného typu ( String).

Rozdiel medzi var a val

  • val (Immutable reference) - Premennú deklarovanú pomocou valkľúčového slova nie je možné zmeniť, akonáhle je hodnota priradená. Je to podobné ako konečná premenná v Jave.
  • var (Premenlivá referencia) - Premennú deklarovanú pomocou varkľúčového slova je možné zmeniť neskôr v programe. Zodpovedá to bežnej premennej Java.

Tu je niekoľko príkladov:

 var language = "francúzština" language = "nemčina" 

Tu je languagepremenná preradená do nemčiny. Pretože je premenná deklarovaná pomocou var, tento kód funguje perfektne.

 val language = "francúzsky" language = "nemecky" // Chyba

Vo Germanvyššie uvedenom príklade nemôžete znova priradiť jazykovú premennú, pretože premenná je deklarovaná pomocou val.

Teraz viete, čo sú premenné Kotlin, je čas naučiť sa rôzne hodnoty, ktoré môže premenná Kotlin nadobúdať.

Základné typy Kotlin

Kotlin je staticky napísaný jazyk ako Java. To znamená, že typ premennej je známy počas kompilácie. Napríklad,

 jazyk val: Int val známky = 12.3

Tu kompilátor vie, že jazyk je typu Inta značky sú typu Doublepred časom kompilácie.

Vstavané typy v Kotline možno kategorizovať ako:

  • Čísla
  • Postavy
  • Boolovci
  • Polia

Typ čísla

Čísla v Kotline sú podobné ako v Jave. Existuje 6 zabudovaných typov predstavujúcich čísla.

  • Byte
  • Krátky
  • Int
  • Dlhé
  • Plavák
  • Dvojitý

1. Byte

  • ByteTyp dát môže mať hodnoty od -128 do 127 (8-bitové dvojkového doplnku celé číslo).
  • Používa sa namiesto Intalebo iných celočíselných dátových typov na šetrenie pamäte, ak je isté, že hodnota premennej bude v rozmedzí (-128, 127)
  • Príklad:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

Po spustení programu bude výstup:

 112

2. Krátke

  • ShortTyp dát môže mať hodnoty od -32768 do 32767 (16-bitové celé číslo dvojkového doplnku).
  • Používa sa namiesto iných celočíselných dátových typov na šetrenie pamäte, ak je isté, že hodnota premennej bude v rozmedzí (-32768, 32767).
  • Príklad:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

Po spustení programu bude výstup:

 -11245

3. Int

  • IntTyp dát môže mať hodnoty od do (32-bitové celé číslo dvojkového doplnku).-231231-1
  • Príklad:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

Po spustení programu bude výstup:

 100 000

Ak priradíte číslo medzi do premennej bez explicitného určenia jeho typ, bude premenná byť typu. Napríklad,-231231-1Int

 fun main(args : Array) ( // score is of type Int val score = 10 println("$score") ) 

If you are using IntelliJ IDEA, you can place cursor inside the variable and press Ctrl + Shift + P to see its type.

4. Long

  • The Long data type can have values from -263 to 263-1 (64-bit signed two's complement integer).
  • Example:
 fun main(args : Array) ( val highestScore: Long = 9999 println("$highestScore") )

When you run the program, the output will be:

 9999

If you assign an integer value greater than 231-1 or less than -231 to a variable (without explicitly specifying its type), the variable will be of Long type. For example,

 val distance = 10000000000 // distance variable of type Long 

Similarly, you can use capital letter L to specify that the variable is of type Long. For example,

 val distance = 100L // distance value of type Long

5. Double

  • The Double type is a double-precision 64-bit floating point.
  • Example:
 fun main(args : Array) ( // distance is of type Double val distance = 999.5 println("$distance") ) 

When you run the program, the output will be:

 999.5

Float

  • The Float data type is a single-precision 32-bit floating point. Learn more about single precision and double precision floating point if you are interested.
  • Example:
 fun main(args : Array) ( // distance is of type Float val distance = 19.5F println("$distance") ) 

When you run the program, the output will be:

 19.5

Notice that, we have used 19.5F instead of 19.5 in the above program. It is because 19.5 is a Double literal, and you cannot assign Double value to a variable of type Float.

To tell compiler to treat 19.5 as Float, you need to use F at the end.

If you are not sure what number value a variable will be assigned in the program, you can specify it as Number type. This allows you to assign both integer and floating-point value to the variable (one at a time). For example:

 fun main(args : Array) ( var test: Number = 12.2 println("$test") test = 12 // Int smart cast from Number println("$test") test = 120L // Long smart cast from Number println("$test") ) 

When you run the program, the output will be:

 12.2 12 120

To learn more, visit: Kotlin smart casts

Char

To represent a character in Kotlin, Char types are used.

Unlike Java, Char types cannot be treated as numbers. Visit this page to learn more about Java char Type.

 fun main(args : Array) ( val letter: Char letter = 'k' println("$letter") ) 

When you run the program, the output will be:

 k 

In Java, you can do something like:

 char letter = 65;

However, the following code gives error in Kotlin.

 var letter: Char = 65 // Error

Boolean

  • The Boolean data type has two possible values, either true or false.
  • Example:
 fun main(args : Array) ( val flag = true println("$flag") )

Booleans are used in decision making statements (will be discussed in later chapter).

Kotlin Arrays

Pole je kontajner, ktorý obsahuje údaje (hodnoty) jedného jediného typu. Môžete napríklad vytvoriť pole, ktoré pojme 100 hodnôt Inttypu.

V Kotline sú polia reprezentované Arraytriedou. Trieda má geta setfunkcie, sizevlastnosti a niekoľko ďalších užitočných členských funkcií.

Ak sa chcete dozvedieť podrobnejšie informácie o poliach, navštívte stránku: Kotlinské polia

Kotlinove struny

V Kotline sú reťazce reprezentované Stringtriedou. Reťazcové literály ako „toto je reťazec“ sa implementujú ako inštancia tejto triedy.

Ak sa chcete dozvedieť podrobnejšie informácie o strunách, vist: Kotlin Strings

Odporúčané čítania

  • Konverzia typu v Kotline
  • Chytré obsadenie v Kotline
  • Typy s povolenou hodnotou Kotlin

Zaujímavé články...