Variables Kotlin et types de base

Dans ce didacticiel, vous découvrirez les variables, comment les créer et les types de données de base pris en charge par Kotlin pour créer des variables.

Comme vous le savez, une variable est un emplacement en mémoire (zone de stockage) pour contenir des données.

Pour indiquer la zone de stockage, chaque variable doit recevoir un nom unique (identifiant). En savoir plus sur Comment nommer une variable dans Kotlin?

Comment déclarer une variable dans Kotlin?

Pour déclarer une variable dans Kotlin, le mot clé varou valest utilisé. Voici un exemple:

 var language = "French" val score = 95

La différence d'utilisation de var et val est abordée plus loin dans l'article. Pour l'instant, concentrons-nous sur la déclaration des variables.

Ici, la langue est une variable de type String, et scoreest une variable de type Int. Vous n'avez pas à spécifier le type de variables; Kotlin fait implicitement cela pour vous. Le compilateur le sait par expression d'initialisation ("French" est un String, et 95 est une valeur entière dans le programme ci-dessus). C'est ce qu'on appelle l'inférence de type en programmation.

Cependant, vous pouvez spécifier explicitement le type si vous souhaitez:

 var language: String = "French" val score: Int = 95

Nous avons initialisé la variable lors de la déclaration dans les exemples ci-dessus. Cependant, ce n'est pas nécessaire. Vous pouvez déclarer une variable et spécifier son type dans une instruction, et initialiser la variable dans une autre instruction plus tard dans le programme.

 var language: String // déclaration de variable de type String… language = "French" // initialisation de variable val score: Int // déclaration de variable de type Int… score = 95 // initialisation de variable 

Voici quelques exemples qui génèrent des erreurs.

 var language // Erreur language = "French"

Ici, le type de variable de langage n'est pas explicitement spécifié, ni la variable n'est initialisée lors de la déclaration.

 var language: String language = 14 // Erreur

Ici, nous essayons d'assigner 14 (valeur entière) à une variable de type différent ( String).

Différence entre var et val

  • val (Référence immuable) - La variable déclarée à l'aide du valmot-clé ne peut pas être modifiée une fois la valeur attribuée. Il est similaire à la variable finale en Java.
  • var (référence mutable) - La variable déclarée à l'aide du varmot-clé peut être modifiée ultérieurement dans le programme. Cela correspond à la variable Java standard.

Voici quelques exemples:

 var language = "French" language = "German" 

Ici, la languagevariable est réaffectée à l'allemand. Depuis, la variable est déclarée en utilisant var, ce code fonctionne parfaitement.

 val language = "French" language = "German" // Erreur

Vous ne pouvez pas réaffecter la variable de langue à Germandans l'exemple ci-dessus car la variable est déclarée à l'aide de val.

Maintenant que vous savez ce que sont les variables Kotlin, il est temps d'apprendre les différentes valeurs qu'une variable Kotlin peut prendre.

Types de base Kotlin

Kotlin est un langage typé statiquement comme Java. Autrement dit, le type d'une variable est connu au moment de la compilation. Par exemple,

 langue val: Int val marks = 12.3

Ici, le compilateur sait que le langage est de type Intet que les marques sont de type Doubleavant la compilation.

Les types intégrés dans Kotlin peuvent être classés comme suit:

  • Nombres
  • Personnages
  • Booléens
  • Tableaux

Type de numéro

Les nombres dans Kotlin sont similaires à Java. Il existe 6 types intégrés représentant des nombres.

  • Octet
  • Court
  • Int
  • Longue
  • Flotte
  • Double

1. Octet

  • Le Bytetype de données peut avoir des valeurs comprises entre -128 et 127 (entier de complément à deux signé 8 bits).
  • It is used instead of Int or other integer data types to save memory if it's certain that the value of a variable will be within (-128, 127)
  • Example:
     fun main(args : Array) ( val range: Byte = 112 println("$range") // The code below gives error. Why? // val range1: Byte = 200 )

When you run the program, the output will be:

 112

2. Short

  • The Short data type can have values from -32768 to 32767 (16-bit signed two's complement integer).
  • It is used instead of other integer data types to save memory if it's certain that the value of the variable will be within (-32768, 32767).
  • Example:
 fun main(args : Array) ( val temperature: Short = -11245 println("$temperature") )

When you run the program, the output will be:

 -11245

3. Int

  • The Int data type can have values from -231 to 231-1 (32-bit signed two's complement integer).
  • Example:
 fun main(args : Array) ( val score: Int = 100000 println("$score") )

When you run the program, the output will be:

 100000

If you assign an integer between -231 to 231-1 to a variable without explicitly specifying its type, the variable will be of Int type. For example,

 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

Un tableau est un conteneur qui contient des données (valeurs) d'un seul type. Par exemple, vous pouvez créer un tableau pouvant contenir 100 valeurs de Inttype.

Dans Kotlin, les tableaux sont représentés par la Arrayclasse. La classe a getet setfonctions, sizepropriété et quelques autres fonctions membres utiles.

Pour en savoir plus sur les tableaux, visitez: Kotlin Arrays

Cordes Kotlin

Dans Kotlin, les chaînes sont représentées par la Stringclasse. Les littéraux de chaîne tels que "ceci est une chaîne" sont implémentés en tant qu'instance de cette classe.

Pour en savoir plus sur les chaînes, visitez: Kotlin Strings

Lectures recommandées

  • Conversion de type à Kotlin
  • Des lancers intelligents à Kotlin
  • Types Nullables de Kotlin

Articles intéressants...