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é var
ou val
est 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 score
est 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
val
mot-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
var
mot-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 language
variable 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 à German
dans 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 Int
et que les marques sont de type Double
avant 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
Byte
type 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
to231-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
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
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 Int
type.
Dans Kotlin, les tableaux sont représentés par la Array
classe. La classe a get
et set
fonctions, size
proprié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 String
classe. 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