I denne vejledning lærer du om variabler, hvordan du opretter dem og grundlæggende datatyper, som Kotlin understøtter til oprettelse af variabler.
Som du ved, er en variabel en placering i hukommelsen (lagerområde) til at indeholde data.
For at angive lagerområdet skal hver variabel have et unikt navn (identifikator). Lær mere om hvordan man navngiver en variabel i Kotlin?
Hvordan erklæres en variabel i Kotlin?
For at erklære en variabel i Kotlin bruges en var
eller et val
nøgleord. Her er et eksempel:
var sprog = "fransk" val score = 95
Forskellen i brug af var og val diskuteres senere i artiklen. Lad os lige nu fokusere på variabel erklæring.
Her er sprog en variabel af typen String
og score
en variabel af typen Int
. Du behøver ikke at specificere typen af variabler; Kotlin gør det implicit for dig. Compileren ved dette ved initialiseringsudtryk ("fransk" er a String
, og 95 er en heltal i ovenstående program). Dette kaldes type inferens i programmering.
Du kan dog eksplicit angive typen, hvis du vil:
var sprog: String = "fransk" val score: Int = 95
Vi har initialiseret variablen under erklæringen i eksemplerne ovenfor. Det er dog ikke nødvendigt. Du kan erklære variabel og angive dens type i en sætning og initialisere variablen i en anden sætning senere i programmet.
var sprog: String // variabel erklæring af typen String … sprog = "fransk" // variabel initialisering val score: Int // variabel erklæring af typen Int … score = 95 // variabel initialisering
Her er nogle få eksempler, der resulterer i fejl.
var sprog // Fejl sprog = "fransk"
Her er typen af sprogvariabel ikke eksplicit specificeret, og variablen initialiseres heller ikke under erklæringen.
var sprog: String sprog = 14 // Fejl
Her forsøger vi at tildele 14 (heltal) til variabler af forskellig type ( String
).
Forskellen mellem var og val
- val (Uforanderlig reference) - Den variabel, der erklæres ved hjælp af
val
nøgleord, kan ikke ændres, når værdien er tildelt. Det svarer til den endelige variabel i Java. - var (Muterbar reference) - Den variabel, der er erklæret ved hjælp af
var
nøgleord, kan ændres senere i programmet. Det svarer til en almindelig Java-variabel.
Her er få eksempler:
var sprog = "fransk" sprog = "tysk"
Her language
tildeles variabel igen til tysk. Da variablen er deklareret ved hjælp af var
denne kode, fungerer den perfekt.
val sprog = "fransk" sprog = "tysk" // Fejl
Du kan ikke tildele sprogvariabler til German
i ovenstående eksempel, fordi variablen erklæres ved hjælp af val
.
Nu ved du hvad Kotlin-variabler er, det er tid til at lære forskellige værdier, som en Kotlin-variabel kan tage.
Kotlin grundlæggende typer
Kotlin er et statisk skrevet sprog som Java. Det vil sige, at typen af en variabel er kendt under kompileringstiden. For eksempel,
val sprog: Int val mark = 12.3
Her ved compileren, at sproget er af typen Int
, og mærker er af typen Double
før kompileringstiden.
De indbyggede typer i Kotlin kan kategoriseres som:
- Tal
- Tegn
- Booleanere
- Arrays
Nummer Type
Tal i Kotlin ligner Java. Der er 6 indbyggede typer, der repræsenterer tal.
- Byte
- Kort
- Int
- Lang
- Flyde
- Dobbelt
1. Byte
- Den
Byte
datatype kan have værdier fra -128 til 127 (8-bit-signerede to-komplement heltal). - Det bruges i stedet for
Int
eller andre heltal datatyper til at gemme hukommelse, hvis det er sikkert, at værdien af en variabel vil være inden for (-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 kører programmet, vil output være:
112
2. Kort
- Den
Short
datatype kan have værdier fra -32768 til at 32767 (16-bit signeret to-komplement heltal). - Det bruges i stedet for andre heltal datatyper til at gemme hukommelse, hvis det er sikkert, at værdien af variablen vil være inden for (-32768, 32767).
- Eksempel:
fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )
Når du kører programmet, vil output være:
-11245
3. Int
- Den
Int
datatype kan have værdier fra til (32-bit signeret to-komplement heltal).-231
231-1
- Eksempel:
fun main(args : Array) ( val score: Int = 100000 println("$score") )
Når du kører programmet, vil output være:
100000
Hvis du tildeler et heltal mellem til en variabel uden eksplicit at specificere dens type, vil variablen være af 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 matrix er en container, der indeholder data (værdier) af en enkelt type. For eksempel kan du oprette en matrix, der kan indeholde 100 værdier af Int
typen.
I Kotlin er arrays repræsenteret af Array
klassen. Klassen har get
og set
funktioner, size
egenskab og et par andre nyttige medlemsfunktioner.
For at lære mere om arrays, besøg: Kotlin Arrays
Kotlin Strings
I Kotlin er strenge repræsenteret af String
klassen. Stringlitteraturen som "dette er en streng" implementeres som en forekomst af denne klasse.
For at lære detaljeret om strenge, se: Kotlin Strings
Anbefalede målinger
- Skriv konvertering i Kotlin
- Smarte rollebesætninger i Kotlin
- Kotlin ugyldige typer