Kotlin-variabelen en basistypen

In deze zelfstudie leert u over variabelen, hoe u ze kunt maken en basisdatatypen die Kotlin ondersteunt voor het maken van variabelen.

Zoals u weet, is een variabele een locatie in het geheugen (opslaggebied) om gegevens op te slaan.

Om het opslaggebied aan te geven, moet elke variabele een unieke naam (identifier) ​​krijgen. Meer informatie over Hoe een variabele een naam geven in Kotlin?

Hoe declareer je een variabele in Kotlin?

Om een ​​variabele in Kotlin te declareren, wordt een van de varof het valtrefwoord gebruikt. Hier is een voorbeeld:

 var language = "Frans" val score = 95

Het verschil in het gebruik van var en val wordt later in het artikel besproken. Laten we ons voorlopig concentreren op de declaratie van variabelen.

Hier is taal een variabele van het type Stringen scoreis het een variabele van het type Int. U hoeft het type variabelen niet op te geven; Kotlin doet dat impliciet voor u. De compiler weet dit door de initialisatie-expressie ("Frans" is a String, en 95 is een geheel getal in het bovenstaande programma). Dit wordt bij het programmeren type-inferentie genoemd.

U kunt het type echter expliciet specificeren als u:

 var taal: String = "Frans" val score: Int = 95

We hebben de variabele geïnitialiseerd tijdens de declaratie in bovenstaande voorbeelden. Het is echter niet nodig. U kunt de variabele declareren en het type specificeren in de ene instructie, en de variabele later in het programma initialiseren in een andere instructie.

 var language: String // variabele declaratie van het type String… language = "French" // variabele initialisatie val score: Int // variabele declaratie van het type Int… score = 95 // variabele initialisatie 

Hier zijn enkele voorbeelden die tot fouten leiden.

 var language // Fouttaal = "Frans"

Hier wordt het type taalvariabele niet expliciet gespecificeerd, noch wordt de variabele geïnitialiseerd tijdens de declaratie.

 var language: String language = 14 // Fout

Hier proberen we 14 (integerwaarde) toe te wijzen aan een variabele van een ander type ( String).

Verschil tussen var en val

  • val (onveranderlijke verwijzing) - De variabele die is gedeclareerd met valtrefwoord kan niet worden gewijzigd nadat de waarde is toegewezen. Het is vergelijkbaar met de laatste variabele in Java.
  • var (Veranderlijke referentie) - De variabele die wordt gedeclareerd met vartrefwoord kan later in het programma worden gewijzigd. Het komt overeen met een gewone Java-variabele.

Hier zijn enkele voorbeelden:

 var language = "French" language = "Duits" 

Hier wordt de languagevariabele opnieuw toegewezen aan het Duits. Omdat de variabele wordt gedeclareerd met var, werkt deze code perfect.

 val language = "Frans" language = "Duits" // Fout

U kunt de taalvariabele niet opnieuw toewijzen aan Germanin het bovenstaande voorbeeld, omdat de variabele wordt gedeclareerd met val.

Nu je weet wat Kotlin-variabelen zijn, is het tijd om verschillende waarden te leren die een Kotlin-variabele kan aannemen.

Kotlin-basistypen

Kotlin is een statisch getypeerde taal zoals Java. Dat wil zeggen, het type variabele is bekend tijdens het compileren. Bijvoorbeeld,

 val taal: Int val marks = 12.3

Hier weet de compiler dat de taal van het type is Int, en markeringen zijn van het type Doublevóór het compileren.

De ingebouwde typen in Kotlin kunnen worden gecategoriseerd als:

  • Getallen
  • Tekens
  • Booleans
  • Arrays

Type nummer

Nummers in Kotlin zijn vergelijkbaar met Java. Er zijn 6 ingebouwde typen die getallen vertegenwoordigen.

  • Byte
  • Kort
  • Int
  • Lang
  • Vlotter
  • Dubbele

1. Byte

  • Het Bytegegevenstype kan waarden hebben van -128 tot 127 (8-bits geheel getal met twee-complement met teken).
  • Het wordt gebruikt in plaats van Intof andere gegevenstypen met gehele getallen om geheugen te besparen als het zeker is dat de waarde van een variabele binnen (-128, 127) valt
  • Voorbeeld:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

Wanneer u het programma uitvoert, is de uitvoer:

 112

2. Kort

  • Het Shortgegevenstype kan waarden hebben van -32768 tot 32767 (16-bits geheel getal met twee-complement met teken).
  • Het wordt gebruikt in plaats van andere gegevenstypen met gehele getallen om geheugen te besparen als het zeker is dat de waarde van de variabele binnen (-32768, 32767) ligt.
  • Voorbeeld:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

Wanneer u het programma uitvoert, is de uitvoer:

 -11245

3. Int

  • Het Intgegevenstype kan waarden hebben van tot (32-bits geheel getal met twee-complement met teken).-231231-1
  • Voorbeeld:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

Wanneer u het programma uitvoert, is de uitvoer:

 100000

Als u een geheel getal tussen tot aan een variabele toewijst zonder expliciet het type op te geven, is de variabele van het type. Bijvoorbeeld,-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

Een array is een container die gegevens (waarden) van één type bevat. U kunt bijvoorbeeld een array maken die 100 typewaarden kan bevatten Int.

In Kotlin worden arrays vertegenwoordigd door de Arrayklasse. De klasse heeft geten setfuncties, sizeeigenschap en een paar andere nuttige lidfuncties.

Ga voor meer informatie over arrays naar: Kotlin Arrays

Kotlin-snaren

In Kotlin worden strings vertegenwoordigd door de Stringklasse. De letterlijke tekenreeks zoals "dit is een tekenreeks" wordt geïmplementeerd als een instantie van deze klasse.

Ga voor meer informatie over snaren naar: Kotlin Strings

Aanbevolen metingen

  • Typeconversie in Kotlin
  • Slimme casts in Kotlin
  • Kotlin nullable types

Interessante artikelen...