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 var
või val
mä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 score
on 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) -
val
märksõna abil deklareeritud muutujat ei saa pärast väärtuse määramist muuta. See sarnaneb Java lõpliku muutujaga. - var (muutuv viide) -
var
mä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 language
määratakse muutuja saksa keelde. Kuna muutuja deklareeritakse kasutades var
, töötab see kood ideaalselt.
val language = "prantsuse" language = "saksa" // Viga
German
Eespool 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 Int
ja märgid on Double
enne 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
Byte
Andmetüübi võib olla väärtused -128 kuni 127 (8-bitise märgiga Täiendkood täisarv).- Seda kasutatakse
Int
mä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
Short
Andmete 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
Int
Andmete tüüp võib olla väärtused , et (32-bitine allkirjastatud Täiendkood täisarv).-231
231-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,-231
231-1
Int
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
to263-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, eithertrue
orfalse
. - 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 Int
tüüpi väärtust .
Kotlinis esindab massiive Array
klass. Klassil on get
ja set
funktsioonid, size
omadus ja veel mõned kasulikud liikme funktsioonid.
Massiivide kohta lisateabe saamiseks külastage: Kotlini massiivid
Kotlini keeled
Kotlinis esindab keelpilli String
klass. 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