Dans le langage Java, toutes les variables doivent être déclarées avant utilisation. Le format de base pour déclarer des variables est le suivant :
type identifier [ = value][, identifier [= value] ...] ;
Description du format : type est un type de données Java. identifiant est le nom de la variable. Plusieurs variables du même type peuvent être déclarées séparées par des virgules.
Vous trouverez ci-dessous quelques exemples de déclarations de variables. Notez que certains incluent un processus d’initialisation.
int a, b, c; // 声明三个int型整数:a、b、c。 int d = 3, e, f = 5; // 声明三个整数并赋予初值。 byte z = 22; // 声明并初始化z。 double pi = 3.14159; // 声明了pi。 char x = 'x'; // 变量x的值是字符'x'。
Les types de variables pris en charge par le langage Java sont :
- Variables locales : Variables dans les méthodes d'une classe.
- Variables d'instance : variables indépendantes des méthodes, mais sans modification statique.
- Variables de classe : variables indépendantes des méthodes, modifiées avec static.
public class Variable{ static int allClicks=0; // 类变量String str="hello world"; // 实例变量public void method(){ int i =0; // 局部变量} }
Variables locales Java
- Les variables locales sont déclarées dans des méthodes, des constructeurs ou des blocs d'instructions ;
- Les variables locales sont créées lorsque des méthodes, des constructeurs ou des blocs d'instructions sont exécutés. Lors de leur exécution, les variables seront détruites ;
- Les modificateurs d'accès ne peuvent pas être utilisés sur des variables locales ;
- Les variables locales ne sont visibles que dans la méthode, le constructeur ou le bloc d'instructions dans lequel elles sont déclarées ;
- Les variables locales sont allouées sur la pile.
- Les variables locales n'ont pas de valeur par défaut, donc une fois qu'une variable locale est déclarée, elle doit être initialisée avant de pouvoir être utilisée.
Exemple 1
Dans l'exemple suivant, l'âge est une variable locale. Il est défini dans la méthode pupAge() et sa portée est limitée à cette méthode.
public 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(); } }
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
Puppy age is: 7
Exemple 2
Dans l'exemple suivant, la variable age n'est pas initialisée, une erreur se produit donc lors de la compilation.
public 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(); } }
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
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 au sein d'une classe, mais en dehors des méthodes, des constructeurs et des blocs d'instructions ;
- Lorsqu'un objet est instancié, la valeur de chaque variable d'instance est déterminée ;
- Les variables d'instance sont créées lorsque l'objet est créé et détruites lorsque l'objet est détruit ;
- La valeur d'une variable d'instance doit être référencée par au moins une méthode, un constructeur ou un bloc d'instructions, afin que l'extérieur puisse obtenir des informations sur la variable d'instance via ces méthodes ;
- Les variables d'instance peuvent être déclarées avant ou après utilisation ;
- Les modificateurs d'accès peuvent modifier les variables d'instance ;
- Les variables d'instance sont visibles par les méthodes, les constructeurs ou les blocs d'instructions d'une classe. En général, les variables d'instance doivent être rendues privées. Les variables d'instance peuvent être rendues visibles aux sous-classes à l'aide de modificateurs d'accès ;
- Les variables d'instance ont des valeurs par défaut. La valeur par défaut des variables numériques est 0, la valeur par défaut des variables booléennes est fausse et la valeur par défaut des variables de type référence est nulle. La valeur d'une variable peut être spécifiée au moment de la déclaration ou dans le constructeur ;
- Les variables d'instance sont accessibles directement via le nom de la variable. Mais dans les méthodes statiques et autres classes, vous devez utiliser le nom complet : ObjectReference.VariableName.
Exemple:
import java.io.*; public class Employee{ // 这个成员变量对子类可见public String name; // 私有变量,仅在该类可见private double salary; //在构造器中对name赋值public Employee (String empName){ name = empName; } //设定salary的值public void setSalary(double empSal){ salary = empSal; } // 打印信息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(); } }
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
name : Ransika salary :1000.0
Variables de classe (variables statiques)
- Les variables de classe sont également appelées variables statiques et sont déclarées avec le mot-clé static dans une classe, mais doivent être en dehors des méthodes, des constructeurs et des blocs d'instructions.
- Quel que soit le nombre d’objets créés par une classe, la classe ne possède qu’une seule copie des variables de classe.
- Les variables statiques sont rarement utilisées, sauf lorsqu'elles sont déclarées comme constantes. Les constantes font référence aux variables déclarées comme types public/privé, final et statique. Les constantes ne peuvent pas être modifiées après l'initialisation.
- Les variables statiques sont stockées dans une zone de stockage statique. Souvent déclarées comme constantes, les variables sont rarement déclarées en utilisant uniquement la valeur statique.
- Les variables statiques sont créées au début du programme et détruites à la fin du programme.
- A une visibilité similaire aux variables d’instance. Mais afin d'être visibles par les utilisateurs de la classe, la plupart des variables statiques sont déclarées comme types publics.
- Les valeurs par défaut sont similaires aux variables d'instance. La valeur par défaut des variables numériques est 0, la valeur par défaut des variables booléennes est fausse et la valeur par défaut des types référence est nulle. La valeur d'une variable peut être spécifiée lors de sa déclaration ou dans le constructeur. De plus, les variables statiques peuvent également être initialisées dans des blocs d'instructions statiques.
- Les variables statiques sont accessibles via : ClassName.VariableName.
- Lorsqu'une variable de classe est déclarée comme type final statique public, le nom de la variable de classe doit utiliser des lettres majuscules. Si la variable statique n'est pas de type public et final, sa méthode de dénomination est cohérente avec la méthode de dénomination des variables d'instance et des variables locales.
Exemple:
import java.io.*; public class Employee{ //salary是静态的私有变量private static double salary; // DEPARTMENT是一个常量public static final String DEPARTMENT = "Development "; public static void main(String args[]){ salary = 1000; System.out.println(DEPARTMENT+"average salary:"+salary); } }
Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :
Development average salary:1000
Remarque : Si d'autres classes souhaitent accéder à cette variable, elles peuvent y accéder comme ceci : Employee.DEPARTMENT.
Dans ce chapitre, nous avons découvert les types de variables Java et dans le chapitre suivant, nous présenterons l'utilisation des modificateurs Java.