Tässä opetusohjelmassa opit muuttujista, niiden luomisesta ja perustietotyypeistä, joita Kotlin tukee muuttujien luomisessa.
Kuten tiedät, muuttuja on paikka muistissa (tallennusalue) tietojen säilyttämiseksi.
Tallennusalueen osoittamiseksi jokaiselle muuttujalle tulisi antaa yksilöllinen nimi (tunniste). Lisätietoja muuttujan nimeämisestä Kotlinissa?
Kuinka ilmoittaa muuttuja Kotlinissa?
Muuttujan ilmoittamiseksi Kotlinissa käytetään joko avainsanaa var
tai val
avainsanaa. Tässä on esimerkki:
var kieli = "ranska" val pisteet = 95
Eroa var ja val: n käytössä käsitellään myöhemmin artikkelissa. Keskitymme toistaiseksi muuttujan ilmoitukseen.
Tässä kieli on tyypin muuttuja String
ja score
on tyypin muuttuja Int
. Sinun ei tarvitse määrittää muuttujien tyyppiä; Kotlin tekee sen epäsuorasti puolestasi. Kääntäjä tietää tämän alustuslausekkeella ("ranska" on a String
ja 95 on kokonaislukuarvo yllä olevassa ohjelmassa). Tätä kutsutaan tyypin päättelyksi ohjelmoinnissa.
Voit kuitenkin määrittää tyypin nimenomaisesti, jos haluat:
var kieli: Merkkijono = "ranska" val pisteet: Int = 95
Olemme alustaneet muuttujan ilmoituksen aikana yllä olevissa esimerkeissä. Se ei kuitenkaan ole välttämätöntä. Voit ilmoittaa muuttujan ja määrittää sen tyypin yhdessä lauseessa ja alustaa muuttujan toisessa käskyssä myöhemmin ohjelmassa.
var kieli: Merkkijono // tyypin muuttujailmoitus String… kieli = "ranska" // muuttujan alustus val-pisteet: Int // muuttujan ilmoituksen tyyppi Int… pisteet = 95 // muuttujan alustus
Tässä on muutama esimerkki, joka johtaa virheisiin.
var kieli // Virhekieli = "ranska"
Tässä kielimuuttujan tyyppiä ei ole erikseen määritelty, eikä muuttujaa alusteta ilmoituksen aikana.
var kieli: Merkkijonokieli = 14 // Virhe
Tässä yritämme määrittää 14 (kokonaislukuarvo) erityyppiselle muuttujalle ( String
).
Var: n ja val: n välinen ero
- val (Muuttamaton viite) -
val
Avainsanalla ilmoitettua muuttujaa ei voi muuttaa, kun arvo on määritetty. Se on samanlainen kuin lopullinen muuttuja Javassa. - var (Mutable reference) -
var
Avainsanalla ilmoitettua muuttujaa voidaan muuttaa myöhemmin ohjelmassa. Se vastaa tavallista Java-muuttujaa.
Tässä on muutama esimerkki:
var language = "ranska" language = "saksa"
Tässä language
muuttuja määritetään uudelleen saksaksi. Koska muuttuja ilmoitetaan käyttäen var
, tämä koodi toimii täydellisesti.
val language = "ranska" language = "saksa" // Virhe
Et voi määrittää kielimuuttujaa uudelleen German
yllä olevassa esimerkissä, koska muuttuja ilmoitetaan käyttäen val
.
Nyt tiedät, mitä Kotlin-muuttujat ovat, on aika oppia erilaisia arvoja, jotka Kotlin-muuttuja voi ottaa.
Kotlinin perustyypit
Kotlin on staattisesti kirjoitettu kieli, kuten Java. Toisin sanoen muuttujan tyyppi tunnetaan kääntöajan aikana. Esimerkiksi,
val kieli: Int val -merkit = 12,3
Tässä kääntäjä tietää, että kieli on tyyppiä Int
ja merkit ovat tyyppiä Double
ennen kääntöaikaa.
Kotlinin sisäänrakennetut tyypit voidaan luokitella seuraavasti:
- Numerot
- Hahmot
- Boolealaiset
- Taulukot
Numerotyyppi
Kotlinin numerot ovat samanlaisia kuin Java. Sisäänrakennettuja numeroita edustavia tyyppejä on 6.
- Tavu
- Lyhyt
- Int
- Pitkä
- Kellua
- Kaksinkertainen
1. Tavu
Byte
Tietojen tyyppi voi olla arvoja, -128-127 (8-bittinen allekirjoitettu kahden komplementti kokonaisluku).- Sitä käytetään
Int
tai muiden kokonaislukutietotyyppien sijaan muistin säästämiseen, jos on varma, että muuttujan arvo on sisällä (-128, 127) - Esimerkki:
fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )
Kun suoritat ohjelmaa, tulos on:
112
2. Lyhyt
Short
Tietojen tyyppi voi olla arvot -32768-32767 (16-bittisen etumerkillisen kahden komplementti kokonaisluku).- Sitä käytetään muiden kokonaislukutietotyyppien sijaan muistin säästämiseen, jos on varma, että muuttujan arvo on sisällä (-32768, 32767).
- Esimerkki:
fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )
Kun suoritat ohjelmaa, tulos on:
-11245
3. Int
Int
Tietojen tyyppi voi olla arvot ja (32-bittisen etumerkillisen kahden komplementti kokonaisluku).-231
231-1
- Esimerkki:
fun main(args : Array) ( val score: Int = 100000 println("$score") )
Kun suoritat ohjelmaa, tulos on:
100000
Jos annat kokonaisluku on muuttujaan määrittämättä nimenomaisesti lajissaan, muuttuja tulee olemaan tyyppiä. Esimerkiksi,-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
Taulukko on säilö, joka sisältää yhden tyyppisiä tietoja (arvoja). Voit esimerkiksi luoda taulukon, johon mahtuu 100 Int
tyypin arvoa .
Kotlinissa taulukot ovat Array
luokan edustajia . Luokalla on get
ja set
toiminnot, size
ominaisuus ja muutama muu hyödyllinen jäsenfunktio.
Jos haluat oppia yksityiskohtaisesti matriiseista, käy Kotlin-taulukot
Kotlin-kielet
Kotlinissa merkkijonoja edustaa String
luokka. Merkkijono-literaalit, kuten "tämä on merkkijono", toteutetaan tämän luokan esiintymänä.
Jos haluat oppia yksityiskohtaisesti jousista, vist: Kotlin Strings
Suositeltavat lukemat
- Tyyppimuunnos Kotlinissa
- Älykkäitä näyttelijöitä Kotlinissa
- Kotlinin mitätöitävät tyypit