I denne opplæringen lærer du om variabler, hvordan du lager dem og grunnleggende datatyper som Kotlin støtter for å lage variabler.
Som du vet er en variabel et sted i minnet (lagringsområde) for å holde data.
For å indikere lagringsområdet, bør hver variabel få et unikt navn (identifikator). Lær mer om hvordan du navngir en variabel i Kotlin?
Hvordan erklærer jeg en variabel i Kotlin?
For å erklære en variabel i Kotlin, brukes enten var
eller val
nøkkelord. Her er et eksempel:
var språk = "fransk" val score = 95
Forskjellen i bruk av var og val blir diskutert senere i artikkelen. For nå, la oss fokusere på variabel erklæring.
Her er språk en variabel av typen String
, og score
er en variabel av typen Int
. Du trenger ikke å spesifisere typen variabler; Kotlin gjør det implisitt for deg. Kompilatoren vet dette med initialiseringsuttrykk ("fransk" er a String
, og 95 er en heltall i programmet ovenfor). Dette kalles type inferens i programmering.
Du kan imidlertid eksplisitt spesifisere typen hvis du vil:
var språk: String = "fransk" val poengsum: Int = 95
Vi har initialisert variabelen under erklæringen i eksemplene ovenfor. Det er imidlertid ikke nødvendig. Du kan erklære variabel og spesifisere typen i en setning, og initialisere variabelen i en annen setning senere i programmet.
var språk: String // variabel erklæring av typen String … språk = "fransk" // variabel initialisering val poengsum: Int // variabel erklæring av typen Int … score = 95 // variabel initialisering
Her er noen eksempler som resulterer i feil.
var språk // Feilspråk = "fransk"
Her er ikke språkvariabelen eksplisitt spesifisert, og heller ikke initialiseres variabelen under erklæringen.
var språk: String språk = 14 // Feil
Her prøver vi å tilordne 14 (heltall) til variabler av annen type ( String
).
Forskjellen mellom var og val
- val (Uforanderlig referanse) - Variabelen deklarert ved hjelp av
val
nøkkelord kan ikke endres når verdien er tildelt. Det ligner på den endelige variabelen i Java. - var (Muterbar referanse) - Variabelen deklarert ved hjelp av
var
nøkkelord kan endres senere i programmet. Det tilsvarer vanlig Java-variabel.
Her er noen eksempler:
var språk = "fransk" språk = "tysk"
Her language
tildeles variabel til tysk. Siden variabelen er deklarert ved hjelp var
, fungerer denne koden perfekt.
val språk = "fransk" språk = "tysk" // Feil
Du kan ikke tilordne språkvariabelen til German
i eksemplet ovenfor fordi variabelen er erklært ved hjelp av val
.
Nå vet du hva Kotlin-variabler er, det er på tide å lære forskjellige verdier en Kotlin-variabel kan ta.
Grunnleggende typer Kotlin
Kotlin er et statisk skrevet språk som Java. Det vil si at typen variabel er kjent i løpet av kompileringstiden. For eksempel,
val språk: Int val merker = 12.3
Her vet kompilatoren at språket er av typen Int
, og merkene er av typen Double
før kompileringstiden.
De innebygde typene i Kotlin kan kategoriseres som:
- Tall
- Tegn
- Boolere
- Arrays
Nummer Type
Tall i Kotlin ligner Java. Det er 6 innebygde typer som representerer tall.
- Byte
- Kort
- Int
- Lang
- Flyte
- Dobbelt
1. Byte
- Den
Byte
datatype kan ha verdier -128 til 127 (åtte-bits signert toerkomplement heltall). - Den brukes i stedet for
Int
eller andre heltalldatatyper for å lagre minne hvis det er sikkert at verdien til en variabel vil være innenfor (-128, 127) - Eksempel:
fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )
Når du kjører programmet, vil utdataene være:
112
2. Kort
- Den
Short
datatype kan ha verdier -32768 til 32.767 (16-bit signert toerkomplement heltall). - Den brukes i stedet for andre heltallstyper for å lagre minne hvis det er sikkert at verdien til variabelen vil være innenfor (-32768, 32767).
- Eksempel:
fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )
Når du kjører programmet, vil utdataene være:
-11245
3. Int
- Den
Int
datatype kan ha verdier fra til (32-bit signert toerkomplement heltall).-231
231-1
- Eksempel:
fun main(args : Array) ( val score: Int = 100000 println("$score") )
Når du kjører programmet, vil utdataene være:
100000
Hvis du tilordner et heltall mellom til en variabel uten å spesifisere typen, vil variabelen være av typen. For eksempel,-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
En matrise er en container som inneholder data (verdier) av en enkelt type. For eksempel kan du opprette en matrise som kan inneholde 100 verdier av Int
typen.
I Kotlin er matriser representert av Array
klassen. Klassen har get
og set
funksjoner, size
eiendom og noen få andre nyttige medlemsfunksjoner.
For å lære mer om matriser, besøk: Kotlin Arrays
Kotlin Strings
I Kotlin er strenger representert av String
klassen. Strengbokstavene som "dette er en streng" er implementert som en forekomst av denne klassen.
For å lære mer om strenger, se: Kotlin Strings
Anbefalte målinger
- Skriv konvertering i Kotlin
- Smarte rollebesetninger i Kotlin
- Kotlin nullable typer