Utiliser var pour les variables locales
Laisser le compilateur déduire le type
Utiliser var pour les variables locales est une leçon Java Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Java Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Java Academy comprend 4 leçons au total.
Inférence locale de type
Depuis Java 10, vous pouvez déclarer des variables locales avec var et laisser le compilateur inférer le type à partir de l'initialiseur. C'est ce qu'on appelle l'inférence locale de type. La variable reste fortement typée.
Votre premier var
Remplacez un type explicite par var lorsque vous affectez une valeur. Le compilateur examine le littéral et infère le type approprié.
public class Main {
public static void main(String[] args) {
var message = "Hello";
var count = 42;
System.out.println(message + " " + count);
}
}var n'est pas un typage dynamique
var ne rend pas Java dynamiquement typé. Une fois inféré, le type est fixe. Affecter ultérieurement une valeur d'un autre type provoque une erreur de compilation.
public class Main {
public static void main(String[] args) {
var n = 10;
n = 20;
System.out.println(n);
}
}Inférer les types d'objets
var fonctionne également avec les objets. Le type inféré est celui que renvoie l'expression d'initialisation.
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
var list = new ArrayList<String>();
list.add("a");
list.add("b");
System.out.println(list);
}
}Moins de répétitions
Il n'est plus nécessaire d'écrire deux fois les types génériques longs. var supprime le type redondant à gauche.
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
var scores = new HashMap<String, Integer>();
scores.put("Alice", 90);
System.out.println(scores);
}
}Inférer le type renvoyé par une méthode
Lorsqu'une méthode renvoie une valeur, var récupère automatiquement son type de retour déclaré.
public class Main {
static String greet() {
return "Hi there";
}
public static void main(String[] args) {
var g = greet();
System.out.println(g.toUpperCase());
}
}var avec les types primitifs
Un littéral entier infère int et un littéral décimal infère double. Faites attention au type primitif obtenu.
public class Main {
public static void main(String[] args) {
var i = 5;
var d = 5.0;
var b = true;
System.out.println(i + " " + d + " " + b);
}
}Toujours vérifié à la compilation
Puisque le type est connu lors de la compilation, le compilateur détecte toujours les erreurs de type. Appeler une méthode String sur un int inféré échouerait lors de la compilation.
public class Main {
public static void main(String[] args) {
var name = "Coddy";
System.out.println(name.length());
}
}Initialisation immédiate obligatoire
Une déclaration var nécessite un initialiseur sur la même ligne. Le compilateur a besoin d'une valeur pour en déduire le type.
public class Main {
public static void main(String[] args) {
var total = 0;
for (int i = 1; i <= 5; i++) {
total += i;
}
System.out.println(total);
}
}Fonctionne avec les tableaux
Vous pouvez inférer un type de tableau, à condition que l'initialiseur rende le type des éléments explicite.
public class Main {
public static void main(String[] args) {
var numbers = new int[]{1, 2, 3, 4};
var sum = 0;
for (var n : numbers) {
sum += n;
}
System.out.println(sum);
}
}Un exemple pratique
Combiner var dans un petit programme permet de garder un code propre tout en conservant un typage complet.
import java.util.List;
public class Main {
public static void main(String[] args) {
var fruits = List.of("apple", "banana", "cherry");
for (var fruit : fruits) {
System.out.println(fruit.toUpperCase());
}
}
}Vérification rapide
Quelle description correspond le mieux au fonctionnement de var en Java ?
Récapitulatif
Vous avez appris à utiliser var pour les variables locales :
- Le compilateur infère le type à partir de l'initialiseur
- La variable reste fortement et statiquement typée
- Un initialiseur est obligatoire sur la même ligne
- Cette approche réduit les répétitions avec les types génériques longs
- Elle fonctionne avec les types primitifs, les objets et les tableaux
Questions Fréquemment Posées
La leçon « Utiliser var pour les variables locales » est-elle gratuite ?
Oui — le texte complet de « Utiliser var pour les variables locales » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Java Academy, passe à CoddyKit PRO. Le cours Java Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Utiliser var pour les variables locales » ?
Laisser le compilateur déduire le type Tu pratiques Java Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Java Academy ?
Aucune expérience préalable n'est requise. Java Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Utiliser var pour les variables locales » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Java Academy ?
Oui. Chaque leçon Java Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Utiliser var pour les variables locales
- Quand var améliore la lisibilité
- var dans les boucles for
- Limitations de var