Médiaforma

Java – Visibilité des variables

Print Friendly

Dans le langage Java, une variable est « visible » dans le bloc où elle a été déclarée.

L’exemple ci-après montre qu’une même variable peut avoir plusieurs valeurs en fonction de l’endroit où elle est utilisée.

public class Test_Visibilite{
  double x = 13.35;
  public static void main (String args[]){
    double x = 1.9;

    // Ici, la variable x a pour valeur 1.9, car elle a été
    // initialisée dans la méthode main
    System.out.println("Dans main, x vaut "+x);
  }

  void Methode1()
  {
    // Ici, x a pour valeur 13.35
    System.out.println("Dans Methode1, x vaut "+x);
  }

  double Fonction1(double x)
  {
    // Ici, x a la valeur passée à la fonction
    System.out.println("Dans Methode2, x vaut "+x);
    return(x);
  }
}

Nous allons prendre un autre exemple très parlant :

public class Test{
  public static void main (String args[]){
    int i;
    for (i=0; i<10; i++)
      int j = i;
    System.out.println(j);
  }
}

Cette application, à priori correcte, produit une erreur de compilation :

Contrairement à la variable i, la variable j a été définie à l’intérieur de l’instruction for. Son étendue est donc limitée à cette instruction. Pour régler le problème, il suffit de déplacer la déclaration de la variable j en dehors de la boucle for, comme ceci :

public class Test{
  public static void main (String args[]) {
    int i;
    int j=0;
    for (i=0; i<10; i++)
      j = i;
    System.out.println(j);
  }
}
Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

No comments yet.

Leave a Reply