Les variables en Java
Sommaire
- 1- Objectifs
- 2- Qu'est-ce qu'une variable ?
- 3- Déclaration d'une variable
- 4- Initialisation des variables
- 5- Les types de variables
- 5.1- Variable locale :
- 5.2- Variables d'instance :
- 5.3- Variables statiques :
- 6- Différences entre les variables d'instance et les variables statiques
- 6.1.1- Sommaire du cours Java
Les variables en Java
-
Objectifs
- À la fin de ce tutoriel, les apprenants seront capables de déclarer des variables en Java en spécifiant correctement leur type et leur nom, en suivant les conventions de nommage appropriées.
-
Qu’est-ce qu’une variable ?
- Une variable en Java est un conteneur qui enregistre les valeurs des données pendant l’exécution du programme Java. Chaque variable se voit attribuer un type de données qui désigne le type et la quantité de valeur qu’elle peut contenir. Une variable est un nom attribué à un emplacement mémoire pour les données.
- La valeur qui se trouve dans une variable est susceptible d’être transformée durant l’exécution d’un programme. En Java, pour que ces variables soient utilisées, elles doivent être déclarées.
-
Déclaration d’une variable
- Il est possible de déclarer les variables en Java comme le montre l’illustration ci-dessous :
- À partir de l’image, on peut facilement percevoir que lors de la déclaration d’une variable, nous devons prendre soin de deux choses qui sont :
- Type : type de données qui peuvent être stockées dans cette variable,
- Nom : nom donné à la variable.
- Ainsi, un nom ne peut être donné qu’à un emplacement mémoire.
- Exemple : déclaration d’une variable
-
Initialisation des variables
- Il peut être perçu à l’aide de 3 composants suivants :
- Type : type de données qui peuvent être stockées dans cette variable,
- Nom : nom donné à la variable,
- Valeur : c’est la valeur initiale stockée dans la variable.
- Exemple : déclaration et initialisation d’une variable
-
Les types de variables
- Il existe trois types de variables :
- Variables locales
- Variables statiques
- Variables d’instance
-
Variable locale :
- Les variables qui sont définies au sein d’un bloc, d’une méthode ou d’un constructeur sont des variables locales.
- Ces variables se créent lors de l’entrée du bloc ou lorsque la fonction est appelée, et sont supprimées lors de la sortie du bloc,
- La validité de ces variables est limitée au bloc dans lequel elles sont définies, c’est-à-dire que celles-ci ne sont accessibles que dans ce bloc,
- Les variables locales doivent être initialisées avant de pouvoir être utilisées dans la portée fixée.
- On obtient le résultat suivant : Variable locale : 5
-
Variables d’instance :
- Les variables d’instance constituent quant à elles des ressources à caractère non statique et sont définies en externe par rapport aux méthodes, aux constructeurs ou aux blocs d’une classe.
- Puisque les variables d’instance se déclarent dans la classe, elles sont créées quand un objet de la classe est créé et sont supprimées quand l’objet est détruit.
- À la différence des variables locales, il est possible d’utiliser des indicateurs d’accès aux variables d’instance. Lorsque nous ne définissons pas de paramètre d’accès, c’est le paramètre d’accès par défaut qui est utilisé.
- Les variables d’instance ne sont pas obligatoirement initialisées. La valeur par défaut est 0.
- Les variables d’instance ne sont accessibles que lors de la création d’objets.
- On obtient le résultat suivant : Le nombre est : 10
-
Variables statiques :
- Les variables statiques sont appelées aussi variables de classe :
- Ces dernières se déclarent comme les variables d’instance. La seule différence est que les valeurs statiques sont définies dans la classe en utilisant le mot-clé static, indépendamment de toute méthode, tout constructeur ou bloc.
- À la différence des variables d’instance, chaque classe ne peut posséder à elle seule qu’une copie d’une variable statique, quel que soit le nombre d’objets créés.
- Les variables statiques sont formées au moment de l’exécution du programme et sont automatiquement supprimées à la fin de l’exécution.
- L’initialisation des variables statiques est facultative. Sa valeur est égale à 0 par défaut.
- Si une variable statique est accessible sans disposer d’un nom de classe, le compilateur lui ajoutera systématiquement celui-ci.
- On obtient le résultat suivant : Le nombre est : 10
Int nombre;
Int compteur = 10 ;
Int vitesse = 20 ;
public class Main {
public static void main(String[] args) {
int var = 5; // Déclaration d'une variable locale
System.out.println("Variable locale : " + var);
}
}
public class Main {
public String nombre; // Déclaration de la variable d'instance
public void calcul() {
this.nombre = "10"; // Initialisation de la variable d'instance
}
public static void main(String[] args) {
// Création d'un objet
Main m = new Main();
m.calcul();
System.out.println("Le nombre est : " + m.nombre);
}
}
public class Main {
public static int nombre = 10;
public static void main(String[] args) {
System.out.println("Le nombre est: " + Main.nombre);
}
}
Différences entre les variables d’instance et les variables statiques
- Voici les différences entre les variables d’instance et les variables statiques :
- Chaque objet aura sa propre copie d’une variable d’instance, alors que nous ne pouvons avoir qu’une seule copie d’une variable statique par classe, quel que soit le nombre d’objets que nous créons,
- Les modifications apportées à une variable d’instance à l’aide d’un objet ne seront pas répercutées dans les autres objets, car chaque objet possède sa propre copie de la variable d’instance. Dans le cas d’une variable statique, les changements seront reflétés dans les autres objets, car les variables statiques sont communes à tous les objets d’une classe,
- Nous pouvons accéder aux variables d’instance par le biais de références d’objet, et les variables statiques peuvent être accédées
Calcul.java
public class Calcul {
// variable statique
static int a;
// variable d'instance
int b;
}
Mail.java
class Main {
public static void main(String[] args) {
Calcul.a = 10; // Accéder à une variable statique depuis la classe Calcul
Calcul c = new Calcul(); // Créer un objet de la classe Calcul
c.b = 20; // Accéder à une variable d'instance depuis l'objet c
// Afficher les valeurs des variables a et b
System.out.println("a = " + Calcul.a);
System.out.println("b = " + c.b);
}
}