Programmation Java: l'observation portée dans un bloc

Les développeurs Java ont souvent des problèmes à comprendre pourquoi une application se comporte mal en cas de problème d'accès de bloc. La ligne directrice de base est que toute variable que vous créez dans un bloc est défini uniquement dans ce bloc. Par exemple, quand vous regardez le code suivant, vous voyez un scénario de bloquer l'accès typique.

// Création d'une variable dans un block.for (int i = 0 à i lt; 10- i ++) // affichage de la valeur de cette variable.System.out.println ("La valeur de i est:" + i) - // Accès en dehors du bloc ne work.System.out.println ("Le valeur de i est: "+ i) -

L'exemple affiche la valeur de i au sein de la boucle for (un type de bloc) sans problème. Cependant, en essayant d'accéder à l'extérieur du bloc i est pas acceptable car la variable est pas défini. Le compilateur va attraper cette erreur.




Un autre problème potentiel se produit lorsque la variable est définie dans la demande ainsi que dans un bloc. Parce que cette situation est susceptible de créer des problèmes, de nouvelles versions de Java ne permettent le genre de code indiqué ici:

static void main (String [] args) {// publics définissent un variable.int i = 0 - // Création d'une variable dans un block.for (int i = 0 à i lt; 10- i ++) // affichage de la valeur de cette variable.System.out.println ("La valeur de i est:" + i) - // Accès en dehors du bloc ne work.System.out.println ("Le valeur de i est: "+ i) -}

Le compilateur ne sera pas toujours vous empêcher de vous tirer une balle dans le pied. Dans de nombreuses situations, le développeur fait quelque chose avec la variable et ne comprend pas les conséquences. Par exemple, le code suivant est parfaitement légal en Java.

static void main (String [] args) {// publics définissent un variable.int i = 0 - // Création d'une variable dans un block.for (i = 0- i lt; 10- i ++) // affichage de la valeur de cette variable.System.out.println ("La valeur de i est:" + i) - // Accès en dehors du bloc ne work.System.out.println ("Le valeur de i est: "+ i) -}

La boucle affiche les valeurs de 0 à 9 cause de l'état dans le pour la déclaration de la boucle. Le dernier appel à System.out.println () affiche une valeur de 10, pas 0 ou 9 que certains développeurs pourraient attendre.

Le ++ partie I de la Déclaration se produit, puis la condition est évaluée, de sorte que la valeur finale de i est de 10, 9 pas parce qu'il doit être 10 pour que la condition de devenir faux.

Le point est que vous devez considérer comment un bloc fonctionne avec une variable afin de déterminer si vous pouvez accéder à la variable et quelle est la valeur contiendra à la sortie du bloc.


» » » » Programmation Java: l'observation portée dans un bloc