V tej vadnici boste spoznali spremenljivke, kako jih ustvariti in osnovne tipe podatkov, ki jih Kotlin podpira za ustvarjanje spremenljivk.
Kot veste, je spremenljivka mesto v pomnilniku (prostor za shranjevanje) za shranjevanje podatkov.
Za označevanje prostora za shranjevanje je treba vsaki spremenljivki dodeliti edinstveno ime (identifikator). Preberite več o tem, kako poimenovati spremenljivko v Kotlinu?
Kako razglasiti spremenljivko v Kotlinu?
Prijaviti spremenljivko v KOTLIN, bodisi var
ali val
ključna beseda uporabljena. Tu je primer:
var jezik = "francoščina" val ocena = 95
Razlika v uporabi var in val je obravnavana kasneje v članku. Zaenkrat se osredotočimo na deklariranje spremenljivk.
Tu je jezik spremenljivka tipa String
in score
je spremenljivka tipa Int
. Ni vam treba navesti vrste spremenljivk; Kotlin to implicitno naredi namesto vas. Prevajalnik to ve po izrazu inicializatorja ("francoščina" je a String
, 95 pa celoštevilska vrednost v zgornjem programu). Temu se pri programiranju reče tipično sklepanje.
Vendar pa lahko izrecno določite vrsto, če želite:
var jezik: String = "francoski" val ocena: Int = 95
V zgornjih primerih smo med deklaracijo inicializirali spremenljivko. Vendar to ni potrebno. Spremenljivko lahko deklarirate in določite njen tip v enem stavku, spremenljivko pa inicializirate v drugem stavku kasneje v programu.
jezik jezika: niz // deklaracija spremenljivke tipa String … language = "francoščina" // inicializacija spremenljivke val score: Int // deklaracija spremenljivke tipa Int … score = 95 // inicializacija spremenljivke
Tu je nekaj primerov, ki povzročajo napake.
var jezik // Napaka language = "francoščina"
Tu tip jezikovne spremenljivke ni izrecno določen niti spremenljivka ni inicializirana med deklaracijo.
var jezik: jezik niza = 14 // Napaka
Tu poskušamo spremenljivki različnega tipa ( String
) dodeliti 14 (celoštevilska vrednost ).
Razlika med var in val
- val (nespremenljiva referenca) - Spremenljivke, deklarirane s
val
ključno besedo, ni mogoče spremeniti, ko je dodeljena vrednost. Podobno je končni spremenljivki v Javi. - var (Spremenljiva referenca) - Spremenljivko, deklarirano s
var
ključno besedo, lahko pozneje spremenite v programu. Ustreza običajni spremenljivki Java.
Tu je nekaj primerov:
var jezik = "francoščina" jezik = "nemščina"
Tu je language
spremenljivka prerazporejena v nemščino. Ker je spremenljivka deklarirana z uporabo var
, ta koda deluje popolnoma.
val language = "francoščina" language = "nemščina" // Napaka
German
V zgornjem primeru jezikovne spremenljivke ne morete dodeliti, ker je spremenljivka deklarirana z uporabo val
.
Zdaj veste, kaj so spremenljivke Kotlin, čas je, da se naučite različnih vrednosti, ki jih lahko ima spremenljivka Kotlin.
Kotlin osnovne vrste
Kotlin je statično tipkan jezik, kot je Java. To pomeni, da je vrsta spremenljivke znana v času prevajanja. Na primer
jezik val: Int oznake val = 12.3
Tu prevajalnik ve, da je jezik tipa Int
, oznake pa tipa Double
pred časom prevajanja.
Vgrajene vrste v Kotlinu lahko razvrstimo kot:
- Številke
- Znaki
- Logične vrednosti
- Polja
Številčna vrsta
Številke v Kotlinu so podobne Java. Vgrajenih je 6 vrst, ki predstavljajo številke.
- Bajt
- Kratek
- Int
- dolga
- Float
- Dvojno
1. Bajt
Byte
Podatkovni tip ima lahko vrednosti od -128 do 127 (8-bitni podpisan dvojiški komplement celo število).- Uporablja se namesto
Int
ali drugih celoštevilnih podatkovnih tipov za prihranek pomnilnika, če je gotovo, da bo vrednost spremenljivke znotraj (-128, 127) - Primer:
fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )
Ko zaženete program, bo rezultat:
112
2. Kratek
Short
Podatkovni tip ima lahko vrednosti od -32768 do 32767 (16-bitni podpisali dvojiški komplement celo število).- Uporablja se namesto drugih celoštevilnih podatkovnih vrst za prihranek pomnilnika, če je gotovo, da bo vrednost spremenljivke znotraj (-32768, 32767).
- Primer:
fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )
Ko zaženete program, bo rezultat:
-11245
3. Int
Int
Podatkovni tip ima lahko vrednosti od do (32-bitni podpisan dvojiški komplement celo število).-231
231-1
- Primer:
fun main(args : Array) ( val score: Int = 100000 println("$score") )
Ko zaženete program, bo rezultat:
100000
Če spremenljivki dodelite celo število med, ne da bi izrecno navedli njen tip, bo spremenljivka tipa. Na primer-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
Matrika je vsebnik, ki vsebuje podatke (vrednosti) ene same vrste. Ustvarite lahko na primer matriko, ki lahko vsebuje 100 vrednosti Int
tipa.
V Kotlinu polja predstavljajo Array
razredi. Razred ima get
in set
funkcije, size
lastnosti, in še nekaj drugih uporabnih funkcij države.
Če želite podrobneje izvedeti o nizih, obiščite: Kotlin Arrays
Strune Kotlin
V Kotlinu nize predstavlja String
razred. Kot primer tega razreda je izveden niz literalov, kot je "to je niz".
Za podrobnejše informacije o strunah pojdite na: Kotlin Strings
Priporočena branja
- Pretvorba tipa v Kotlin
- Pametne zasedbe v Kotlinu
- Kotlin razveljavljive vrste