Kotlin-variabler och bastyper

I denna handledning lär du dig om variabler, hur du skapar dem och grundläggande datatyper som Kotlin stöder för att skapa variabler.

Som du vet är en variabel en plats i minnet (lagringsområde) för att hålla data.

För att ange lagringsområdet ska varje variabel ges ett unikt namn (identifierare). Läs mer om hur man namnge en variabel i Kotlin?

Hur deklarerar jag en variabel i Kotlin?

För att deklarera en variabel i Kotlin används endera vareller valnyckelord. Här är ett exempel:

 var språk = "franska" val poäng = 95

Skillnaden i att använda var och val diskuteras senare i artikeln. Låt oss för närvarande fokusera på variabeldeklaration.

Här är språk en variabel av typen Stringoch scoreen variabel av typen Int. Du behöver inte ange vilken typ av variabler; Kotlin gör det implicit för dig. Kompilatorn vet detta genom initialiseringsuttryck ("franska" är a String, och 95 är ett heltal i ovanstående program). Detta kallas typinferens vid programmering.

Du kan dock uttryckligen ange typen om du vill:

 var språk: String = "franska" val poäng: Int = 95

Vi har initierat variabeln under deklarationen i ovanstående exempel. Det är dock inte nödvändigt. Du kan deklarera variabel och ange dess typ i ett uttalande och initiera variabeln i ett annat uttalande senare i programmet.

 var språk: String // variabeldeklaration av typ String … språk = "franska" // variabel initialisering valpoäng: Int // variabeldeklaration av typ Int … poäng = 95 // variabel initialisering 

Här är några exempel som resulterar i fel.

 var språk // Fel språk = "franska"

Här specificeras inte typen av språkvariabel uttryckligen, och inte heller initieras variabeln under deklarationen.

 var språk: Strängspråk = 14 // Fel

Här försöker vi tilldela 14 (heltal) till variabler av annan typ ( String).

Skillnad mellan var och val

  • val (Immutable reference) - Variabeln som deklareras med hjälp av valnyckelord kan inte ändras när värdet har tilldelats. Det liknar den slutliga variabeln i Java.
  • var (Muterbar referens) - Den variabel som deklareras med hjälp av varnyckelord kan ändras senare i programmet. Det motsvarar en vanlig Java-variabel.

Här är några exempel:

 var språk = "franska" språk = "tyska" 

Här languagetilldelas variabeln till tyska. Eftersom variabeln deklareras med varfungerar den här koden perfekt.

 val språk = "franska" språk = "tyska" // Fel

Du kan inte tilldela språkvariabler till Germani ovanstående exempel eftersom variabeln deklareras med val.

Nu vet du vad Kotlin-variabler är, det är dags att lära sig olika värden som en Kotlin-variabel kan ta.

Kotlin Grundtyper

Kotlin är ett statligt skrivet språk som Java. Det vill säga typen av variabel är känd under kompileringstiden. Till exempel,

 val språk: Int val märken = 12.3

Här vet kompilatorn att språket är av typ Intoch märken är av typen Doubleföre kompileringstiden.

De inbyggda typerna i Kotlin kan kategoriseras som:

  • Tal
  • Tecken
  • Booléer
  • Arrayer

Nummertyp

Siffror i Kotlin liknar Java. Det finns 6 inbyggda typer som representerar siffror.

  • Byte
  • Kort
  • Int
  • Lång
  • Flyta
  • Dubbel

1. Byte

  • Den Bytedatatyp kan ha värden från -128 till 127 (8-bitars tecknat två komplement heltal).
  • Det används istället för Inteller andra heltal datatyper för att spara minne om det är säkert att värdet på en variabel ligger inom (-128, 127)
  • Exempel:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

När du kör programmet blir resultatet:

 112

2. Kort

  • Den Shortdatatypen kan ha värden -32.768-32.767 (16-bitars undertecknat tvåkomplement heltal).
  • Det används istället för andra heltal datatyper för att spara minne om det är säkert att variabelns värde ligger inom (-32768, 32767).
  • Exempel:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

När du kör programmet blir resultatet:

 -11245

3. Int

  • Den Intdatatypen kan ha värden från till (32-bitars undertecknat tvåkomplement heltal).-231231-1
  • Exempel:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

När du kör programmet blir resultatet:

 100000

Om du tilldelar ett heltal mellan till en variabel utan att specifikt specificera dess typ, kommer variabeln att vara av typ. Till exempel,-231231-1Int

 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 to 263-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, either true or false.
  • 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 matris är en behållare som innehåller data (värden) av en enda typ. Du kan till exempel skapa en matris som kan innehålla 100 Inttypvärden.

I Kotlin representeras matriser av Arrayklassen. Klassen har getoch setfunktioner, sizeegendom och några andra användbara medlemsfunktioner.

För att lära dig mer om matriser, besök: Kotlin Arrays

Kotlin Strings

I Kotlin representeras strängar av Stringklassen. Strängbokstäverna som "detta är en sträng" implementeras som en förekomst av denna klass.

För att lära dig mer om strängar, se: Kotlin Strings

Rekommenderade avläsningar

  • Typkonvertering i Kotlin
  • Smarta gjutningar i Kotlin
  • Kotlin ogiltiga typer

Intressanta artiklar...