Kotlini muutujad ja põhitüübid

Lang L: none (table-of-contents)

Selles õpetuses saate teada muutujatest, nende loomisest ja põhilistest andmetüüpidest, mida Kotlin muutujate loomisel toetab.

Nagu teate, on muutuja asukoht mälus (salvestusala) andmete hoidmiseks.

Salvestusala tähistamiseks tuleks igale muutujale anda kordumatu nimi (identifikaator). Lisateave selle kohta, kuidas Kotlinis muutujat nimetada?

Kuidas deklareerida muutuja Kotlinis?

Muutuja deklareerimiseks Kotlinis kasutatakse ühte varvõi valmärksõna. Siin on näide:

 var keel = "prantsuse" val skoor = 95

Var ja val kasutamise erinevust käsitletakse edaspidi artiklis. Nüüd keskendume muutuja deklareerimisele.

Siin on keel tüüpi muutuja String, ja scoreon muutuja tüüpi Int. Te ei pea määrama muutujate tüüpi; Kotlin teeb seda kaudselt teie eest. Koostaja teab seda initsiaatori avaldise abil ("prantsuse" on Stringülaltoodud programmis täisarv ja 95 on täisarv). Seda nimetatakse programmeerimisel tüübi järelduseks.

Kuid saate tüübi selgesõnaliselt määrata, kui soovite:

 var keel: String = "prantsuse" val skoor: keskmine = 95

Oleme muutuja initsialiseerinud deklaratsiooni ajal ülaltoodud näidetes. Kuid see pole vajalik. Muutuja saab deklareerida ja selle tüübi ühes lauses määrata ning initsialiseerida muutuja teises avalduses hiljem programmis.

 var keel: string: // tüübi muutuja deklaratsioon String … language = "prantsuse" // muutuja initsialiseerimine val skoor: Int // muutuja deklaratsioon tüüpi Int… skoor = 95 // muutuja initsialiseerimine 

Siin on mõned näited, mille tulemuseks on viga.

 var keel // Vea keel = "prantsuse"

Siin pole keelemuutuja tüüpi sõnaselgelt määratletud ega muutujad initsialiseerita deklaratsiooni ajal.

 var keel: Stringi keel = 14 // Viga

Siin proovime määrata erinevat tüüpi muutujatele ( String) väärtuse 14 (täisarv ).

Erinevus var ja val vahel

  • val (muutumatu viide) - valmärksõna abil deklareeritud muutujat ei saa pärast väärtuse määramist muuta. See sarnaneb Java lõpliku muutujaga.
  • var (muutuv viide) - varmärksõna abil deklareeritud muutujat saab hiljem programmis muuta. See vastab tavalisele Java muutujale.

Siin on mõned näited:

 var language = "prantsuse" language = "saksa" 

Siin languagemääratakse muutuja saksa keelde. Kuna muutuja deklareeritakse kasutades var, töötab see kood ideaalselt.

 val language = "prantsuse" language = "saksa" // Viga

GermanEespool toodud näites ei saa keelemuutujat ümber määrata , kuna muutuja deklareeritakse kasutades val.

Nüüd teate, mis on Kotlini muutujad, on aeg õppida erinevaid väärtusi, mida Kotlini muutuja võib võtta.

Kotlini põhitüübid

Kotlin on staatiliselt sisestatud keel nagu Java. See tähendab, et muutuja tüüp on kompileerimise ajal teada. Näiteks,

 val keel: Int val märgid = 12.3

Siin teab kompilaator, et keel on tüüpi Intja märgid on Doubleenne kompileerimisaega tüüpi .

Kotlini sisseehitatud tüüpe saab liigitada järgmiselt:

  • Numbrid
  • Tegelased
  • Booleanid
  • Massiivid

Numbri tüüp

Kotlini numbrid sarnanevad Java-ga. Numbreid on 6 sisseehitatud tüüpi.

  • Bait
  • Lühike
  • Int
  • Pikk
  • Ujuk
  • Topelt

1. Bait

  • ByteAndmetüübi võib olla väärtused -128 kuni 127 (8-bitise märgiga Täiendkood täisarv).
  • Seda kasutatakse Intmälu säästmiseks teiste täisarvutüüpide asemel, kui on kindel, et muutuja väärtus jääb vahemikku (-128, 127)
  • Näide:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

Programmi käivitamisel on väljund järgmine:

 112

2. Lühike

  • ShortAndmete tüüp võib olla väärtused -32.768-32.767 (16-bitine allkirjastatud Täiendkood täisarv).
  • Seda kasutatakse teiste täisarvutüüpide asemel mälu salvestamiseks, kui on kindel, et muutuja väärtus jääb vahemikku (-32768, 32767).
  • Näide:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

Programmi käivitamisel on väljund järgmine:

 -11245

3. Int

  • IntAndmete tüüp võib olla väärtused , et (32-bitine allkirjastatud Täiendkood täisarv).-231231-1
  • Näide:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

Programmi käivitamisel on väljund järgmine:

 100000

Kui määrate täisarv vahemikus kuni muutuva täpsemalt määramata tüübi muutuja olla tüüp. Näiteks,-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

Massiiv on konteiner, mis sisaldab ühte tüüpi andmeid (väärtusi). Näiteks saate luua massiivi, mis mahutab 100 Inttüüpi väärtust .

Kotlinis esindab massiive Arrayklass. Klassil on getja setfunktsioonid, sizeomadus ja veel mõned kasulikud liikme funktsioonid.

Massiivide kohta lisateabe saamiseks külastage: Kotlini massiivid

Kotlini keeled

Kotlinis esindab keelpilli Stringklass. String-literaalid, näiteks "see on string", rakendatakse selle klassi eksemplarina.

Stringide kohta lisateabe saamiseks külastage: Kotlin Strings

Soovitatavad lugemised

  • Tüübi teisendamine Kotlinis
  • Nutikad castid Kotlinis
  • Kotlini tühistatavad tüübid

Huvitavad Artiklid...