Types de variables Java


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.

Ce qui suit répertorie quelques exemples de déclarations de variables. Notez que certains incluent des processus d’initialisation.

int a, b, c;         // 声明三个int型整数:a、 b、c
int d = 3, e, f = 5; // 声明三个整数并赋予初值
byte z = 22;         // 声明并初始化 z
String s = "php"  // 声明并初始化字符串 s
double pi = 3.14159; // 声明了双精度浮点型变量 pi
char x = 'x';        // 声明变量 x 的值是字符 'x'。

Les types de variables supportés par le langage Java sont :

  • Variables locales

  • Variables membres

  • Variables de classe


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. Lorsqu'elles sont exécutées, les variables seront détruites

  •       ; 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'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 pubAge() et sa portée est limitée à cette méthode.

package com.php.test;

public class Test{ 
   public void pupAge(){
      int age = 0;
      age = age + 7;
      System.out.println("小狗的年龄是: " + 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 :

小狗的年龄是: 7

Exemple 2

Dans l'exemple suivant, la variable age n'est pas initialisée, donc une erreur se produira lors de la compilation :

public class Test{ 
   public void pupAge(){
      int age;
      age = age + 7;
      System.out.println("小狗的年龄是 : " + age);
   }
   
   public static void main(String args[]){
      Test test = new Test();
      test.pupAge();
   }
}

L'exemple de compilation et de résultats d'exécution ci-dessus est le suivant :

Test.java:4:variable number might not have been initialized
age = age + 7;
         ^
1 error

Variable d'instance

  • Les variables d'instance sont déclarées dans 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 de la 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 en utilisant des 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 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

Variable de classe (variable statique)

  • Les variables de classe sont également appelées variables statiques et sont déclarées avec le mot-clé static dans la classe, mais doivent être en dehors du constructeur de méthode et du bloc 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 ou 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 = "开发人员";
    public static void main(String args[]){
    salary = 10000;
        System.out.println(DEPARTMENT+"平均工资:"+salary);
    }
}

Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :

开发人员平均工资:10000.0

Remarque : Si d'autres classes souhaitent accéder à cette variable, elles peuvent y accéder comme ceci : Employé.DEPARTEMENT.

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.