English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, vous découvrirez les variables, comment créer des variables et les types de données de base supportés par Kotlin pour créer des variables.
Comme vous le savez, une variable est une position (zone de stockage) dans la mémoire (zone de stockage) utilisée pour stocker des données.
Pour indiquer la zone de stockage, chaque variable doit être assignée un nom unique (identificateur). En savoir plus surComment nommer une variable en Kotlin ?Plus d'informations
Pour déclarer une variable en Kotlin, utilisez les mots-clés var ou val. Voici un exemple :
var language = "French" val score = 95
L'article discutera plus tard des différences entre var et val. Pour l'instant, concentrons-nous sur la déclaration de variables.
Ici, language est une variable de type String, score est une variable de type Int. Vous n'avez pas besoin de spécifier le type de la variable ; Kotlin le spécifie implicitement pour vous. Le compilateur le fait via l'expression d'initialisation (dans le programme ci-dessus, "French" est une chaîne de caractères, et95Sachant que c'est une valeur entière) cela est appelé en programmation Inférence de typeVariable
Mais, si vous devez effectuer l'opération suivante, vous pouvez spécifier explicitement le type :
var language: String = "French" val score: Int = 95
Dans l'exemple ci-dessus, nous avons initialisé la variable pendant la déclaration. Mais ce n'est pas obligatoire. Vous pouvez déclarer une variable et spécifier son type dans une instruction, puis l'initialiser dans une autre instruction du programme.
var language: String //Déclaration de variable de type String ... .. ... language = "French" //Initialisation des variables val score: Int //Déclaration de variable de type Int ... .. ... score = 95 //Initialisation des variables
Voici quelques exemples d'erreurs :
var language // Erreur language = "French"
Ici, le type de la variable language n'est pas spécifié explicitement, et la variable n'est pas initialisée pendant la déclaration.
var language: String language = 14 // Erreur
Ici, nous essayons de14(Valeur entière) L'affectation à une variable de type différent (String) entraîne une erreur.
val(Référence immutable)- Après affectation, les variables déclarées avec la clé val ne peuvent pas être modifiées. Cela ressemble à la variable final en Java.
var(Référence mutable)- Les variables déclarées avec la clé var peuvent être modifiées ultérieurement dans le programme. Elles correspondent aux variables Java conventionnelles.
Voici quelques exemples :
var language = "French" language = "German"
Ici, la variable language est réassignée avec la valeur "German". En raison de l'utilisation de var pour déclarer la variable, ce code fonctionne parfaitement.
val language = "French" language = "German" // Erreur
Dans l'exemple ci-dessus, vous ne pouvez pas réaffecter la valeur German à la variable language car cette variable est déclarée avec val.
Maintenant que vous savez ce qu'est une variable en Kotlin, il est temps d'apprendre les différentes valeurs que peut prendre une variable en Kotlin.
Kotlin est un langage de type statique similaire à Java. C'est-à-dire que pendant la compilation, le type de la variable est connu. Par exemple,
val language: Int val marks = 12.3
Ici, le compilateur sait que le type de language est Int et qu'il est marqué comme type Double avant la compilation.
Les types intégrés en Kotlin peuvent être classés en:
Nombres (Numbers)
Caractères (Characters)
Booleens (Booleans)
Tableaux (Arrays)
Les nombres en Kotlin sont similaires à ceux en Java. Il y a6Ces types intégrés représentent des nombres.
Byte
Short
Int
Long
Float
Double
La portée des valeurs du type de données Byte commence à -128 à 127(8bits d'entier à complément à deux signé).
Si vous pouvez déterminer que la valeur de la variable se situe entre [-128,127à l'intérieur de cette plage, vous pouvez l'utiliser à la place de Int ou d'autres types de données entières pour économiser de la mémoire.
fun main(args: Array<String>) { val range: Byte = 112 println("$range") // Le code suivant affiche une erreur. Pourquoi? // val range1: Byte = 200 }
Lors de l'exécution du programme, la sortie est :
112
La portée des valeurs du type de données Short commence à -32768 à 32767 (16bits d'entier à complément à deux signé).
Si vous pouvez déterminer que la valeur de la variable se situe entre [-32768,32767à l'intérieur de ce tableau, vous pouvez l'utiliser à la place d'autres types de données entières pour économiser de la mémoire.
fun main(args: Array<String>) { val temperature: Short = -11245 println("$temperature") }
Lors de l'exécution du programme, la sortie est :
-11245
La portée des valeurs du type de données Int commence à-231 à 231-1(32L'entier à complément à deux du symbole de position binaire).
fun main(args: Array<String>) { val score: Int = 100000 println("$score") }
Lors de l'exécution du programme, la sortie est :
100000
Si vous allouez une valeur à la variable -231 à 231-1entre ces entiers sans spécifier explicitement son type, alors la variable sera de type Int. Par exemple,
fun main(args: Array<String>) { // score est de type Int val score = 10 println("$score") }
Si vous utilisez IntelliJ IDEA, vous pouvez placer le curseur à l'intérieur de la variable, puis appuyer sur Ctrl + Shift + P pour voir son type.
La portée du type de données Long commence à -263 à 263-1(64L'entier à complément à deux du symbole de position binaire).
fun main(args: Array<String>) { val highestScore: Long = 9999 println("$highestScore") }
Lors de l'exécution du programme, la sortie est :
9999
Si vous allouez une valeur supérieure à231-1 ou inférieur -231 de la valeur entière (non spécifiée explicitement comme type), la variable sera de type Long. Par exemple,
val distance = 10000000000 // La variable distance de type Long
De même, vous pouvez utiliser la lettre majuscule L pour spécifier que le type de variable est Long. Par exemple,
val distance = 100L // La valeur distance de type Long
Le type Double est de double précision64flottant en bits.
fun main(args: Array<String>) { // distance est de type Double val distance = 999.5 println("$distance") }
Lors de l'exécution du programme, la sortie est :
999.5
Le type de données Float est de précision simple32flottant en bits.
fun main(args: Array<String>) { // distance est de type Float val distance = 19.5F println("$distance") }
Lors de l'exécution du programme, la sortie est :
19.5
Veuillez noter que nous avons utilisé 19.5plutôt que 19.5F 19.5 . C'est parce queest une valeur littérale Double, donc vous ne pouvez pas allouer de valeur Double au type FloatVariable
. 19.5 Si vous souhaitez que le compilateur
Si vous ne savez pas quelle valeur numérique sera attribuée à la variable dans le programme, vous pouvez la spécifier comme Number. Cela vous permet d'allouer à la variable à la fois des valeurs entières et des valeurs flottantes (une seule à la fois). Par exemple :
fun main(args: Array<String>) { var test: Number = 12.2 println("$test") test = 12 // Conversion intelligente de Number en Int println("$test") test = 120L // Conversion intelligente de Number en Long println("$test") }
Lors de l'exécution du programme, la sortie est :
12.2 12 120
Pour représenter un caractère en Kotlin, on utilise le type Char.
Contrairement à Java, le type Char ne peut pas être considéré comme un nombre. Consultez cette page pour en savoir plus surType char en JavaPlus d'informations.
fun main(args: Array<String>) { val letter: Char letter = 'k' println("$letter") }
Lors de l'exécution du programme, la sortie est :
k
En Java, vous pouvez effectuer l'opération suivante :
char letter = 65;
Cependant, le code suivant donne une erreur en Kotlin.
var letter: Char = 65 // Erreur
Le type de données Boolean a deux valeurs possibles : true ou false.
fun main(args: Array<String>) { val flag = true println("$flag") }
Les valeurs booléennes sont utilisées pour les instructions conditionnelles (qui seront discutées dans les chapitres suivants).
Un tableau est un conteneur qui contient des données d'un type (valeur). Par exemple, vous pouvez créer un conteneur qui peut容纳10Tableau d'entiers de type Int sans valeur.
En Kotlin, les tableaux sont représentés par la classe Array. Cette classe possède des fonctions get et set, la propriété size et d'autres fonctions membres utiles.
En Kotlin, les chaînes sont représentées par la classe String. Les chaînes littérales telles que "this is a string" sont implémentées comme des instances de cette classe.