Java - Types de variables
Une variable nous fournit un stockage nommé que nos programmes peuvent manipuler. Chaque variable en Java a un type spécifique, qui détermine la taille et la disposition de la mémoire de la variable; la plage de valeurs pouvant être stockées dans cette mémoire ; et l'ensemble des opérations pouvant être appliquées à la variable.
Vous devez déclarer toutes les variables avant de pouvoir les utiliser. Voici la forme de base d'une déclaration de variable −
data type variable [ = value][, variable [ = value] ...] ;
Ici type de données est l'un des types de données et variable de Java est le nom de la variable. Pour déclarer plusieurs variables du type spécifié, vous pouvez utiliser une liste séparée par des virgules.
Voici des exemples valides de déclaration et d'initialisation de variable en Java −
Exemple
int a, b, c; // Declares three ints, a, b, and c. int a = 10, b = 10; // Example of initialization byte B = 22; // initializes a byte type variable B. double pi = 3.14159; // declares and assigns a value of PI. char a = 'a'; // the char variable a iis initialized with value 'a'
Ce chapitre explique les différents types de variables disponibles dans le langage Java. Il existe trois types de variables en Java −
- Variables locales
- Variables d'instance
- Variables de classe/statiques
Variables locales
-
Les variables locales sont déclarées dans des méthodes, des constructeurs ou des blocs.
-
Les variables locales sont créées lorsque la méthode, le constructeur ou le bloc est entré et la variable sera détruite une fois qu'elle quitte la méthode, le constructeur ou le bloc.
-
Les modificateurs d'accès ne peuvent pas être utilisés pour les variables locales.
-
Les variables locales ne sont visibles que dans la méthode, le constructeur ou le bloc déclaré.
-
Les variables locales sont implémentées au niveau de la pile en interne.
-
Il n'y a pas de valeur par défaut pour les variables locales, donc les variables locales doivent être déclarées et une valeur initiale doit être assignée avant la première utilisation.
Exemple
Ici, âge est une variable locale. Ceci est défini dans pupAge() méthode et sa portée est limitée à cette seule méthode.
Démo en directpublic class Test { public void pupAge() { int age = 0; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args[]) { Test test = new Test(); test.pupAge(); } }
Cela produira le résultat suivant −
Sortie
Puppy age is: 7
Exemple
L'exemple suivant utilise age sans l'initialiser, il donnerait donc une erreur au moment de la compilation.
Démo en directpublic class Test { public void pupAge() { int age; age = age + 7; System.out.println("Puppy age is : " + age); } public static void main(String args[]) { Test test = new Test(); test.pupAge(); } }
Cela produira l'erreur suivante lors de la compilation −
Sortie
Test.java:4:variable number might not have been initialized age = age + 7; ^ 1 error
Variables d'instance
-
Les variables d'instance sont déclarées dans une classe, mais en dehors d'une méthode, d'un constructeur ou de tout bloc.
-
Lorsqu'un espace est alloué à un objet dans le tas, un emplacement pour chaque valeur de variable d'instance est créé.
-
Les variables d'instance sont créées lorsqu'un objet est créé avec l'utilisation du mot-clé "nouveau" et détruites lorsque l'objet est détruit.
-
Les variables d'instance contiennent des valeurs qui doivent être référencées par plusieurs méthodes, constructeurs ou blocs, ou des parties essentielles de l'état d'un objet qui doivent être présentes dans toute la classe.
-
Les variables d'instance peuvent être déclarées au niveau de la classe avant ou après utilisation.
-
Des modificateurs d'accès peuvent être donnés pour les variables d'instance.
-
Les variables d'instance sont visibles pour toutes les méthodes, constructeurs et blocs de la classe. Normalement, il est recommandé de rendre ces variables privées (niveau d'accès). Cependant, la visibilité des sous-classes peut être donnée pour ces variables à l'aide de modificateurs d'accès.
-
Les variables d'instance ont des valeurs par défaut. Pour les nombres, la valeur par défaut est 0, pour les booléens, elle est fausse et pour les références d'objet, elle est nulle. Les valeurs peuvent être assignées lors de la déclaration ou dans le constructeur.
-
Les variables d'instance sont accessibles directement en appelant le nom de la variable à l'intérieur de la classe. Cependant, dans les méthodes statiques (lorsque les variables d'instance sont accessibles), elles doivent être appelées en utilisant le nom complet. ObjectReference.VariableName .
Exemple
Démo en directimport java.io.*; public class Employee { // this instance variable is visible for any child class. public String name; // salary variable is visible in Employee class only. private double salary; // The name variable is assigned in the constructor. public Employee (String empName) { name = empName; } // The salary variable is assigned a value. public void setSalary(double empSal) { salary = empSal; } // This method prints the employee details. public void printEmp() { System.out.println("name : " + name ); System.out.println("salary :" + salary); } public static void main(String args[]) { Employee empOne = new Employee("Ransika"); empOne.setSalary(1000); empOne.printEmp(); } }
Cela produira le résultat suivant −
Sortie
name : Ransika salary :1000.0
Variables de classe/statiques
-
Les variables de classe également appelées variables statiques sont déclarées avec le mot-clé static dans une classe, mais en dehors d'une méthode, d'un constructeur ou d'un bloc.
-
Il n'y aurait qu'une seule copie de chaque variable de classe par classe, quel que soit le nombre d'objets créés à partir de celle-ci.
-
Les variables statiques sont rarement utilisées autrement qu'en tant que constantes. Les constantes sont des variables déclarées publiques/privées, finales et statiques. Les variables constantes ne changent jamais de leur valeur initiale.
-
Les variables statiques sont stockées dans la mémoire statique. Il est rare d'utiliser des variables statiques autres que déclarées finales et utilisées comme constantes publiques ou privées.
-
Les variables statiques sont créées au démarrage du programme et détruites à l'arrêt du programme.
-
La visibilité est similaire aux variables d'instance. Cependant, la plupart des variables statiques sont déclarées publiques car elles doivent être disponibles pour les utilisateurs de la classe.
-
Les valeurs par défaut sont identiques à celles des variables d'instance. Pour les nombres, la valeur par défaut est 0; pour les booléens, c'est faux; et pour les références d'objet, il est nul. Les valeurs peuvent être affectées lors de la déclaration ou dans le constructeur. De plus, des valeurs peuvent être attribuées dans des blocs d'initialisation statiques spéciaux.
-
Les variables statiques sont accessibles en appelant avec le nom de classe ClassName.VariableName .
-
Lors de la déclaration de variables de classe comme public static final, les noms de variables (constantes) sont tous en majuscules. Si les variables statiques ne sont pas publiques et finales, la syntaxe de dénomination est la même que pour les variables d'instance et locales.
Exemple
Démo en directimport java.io.*; public class Employee { // salary variable is a private static variable private static double salary; // DEPARTMENT is a constant public static final String DEPARTMENT = "Development "; public static void main(String args[]) { salary = 1000; System.out.println(DEPARTMENT + "average salary:" + salary); } }
Cela produira le résultat suivant −
Sortie
Development average salary:1000
Remarque − Si les variables sont accessibles depuis une classe extérieure, la constante doit être accessible en tant que Employee.DEPARTMENT
Quelle est la prochaine ?
Vous avez déjà utilisé les modificateurs d'accès (publics et privés) dans ce chapitre. Le prochain chapitre expliquera en détail les modificateurs d'accès et les modificateurs de non-accès.
Java