Java - 4.7 Portée des variables dans les blocs if et else

Les conditions if et else créent des blocs de code. Une variable peut exister seulement à l'intérieur d'un bloc, ce qui limite les endroits où elle est utilisable. Cette leçon explique cette règle en Java, puis termine avec un défi sur le calcul d'un score final.

Une variable vit dans son bloc

Une variable déclarée à l'intérieur d'un bloc entre accolades n'est utilisable que dans ce bloc. Dès que le bloc se termine, la variable disparaît.

Une erreur apparaît si l'on tente de l'utiliser en dehors de ce bloc. Cette règle s'applique en Java, et dans d'autres langages.

Déclarer la variable avant le bloc

Une variable déclarée avant le bloc if ou else reste accessible à l'intérieur de ce bloc. C'est la bonne façon de garder une valeur utilisable après les conditions.

Le défi de la leçon suit ce principe : une variable de score est déclarée au début du programme, les conditions calculent le score final, puis le résultat est affiché. L'affichage ne doit se faire qu'une fois les conditions terminées.

Vérifier avant d'exécuter

Avant de lancer le programme, vérifiez que chaque variable utilisée après un bloc a bien été déclarée en dehors de ce bloc.

En résumé

Une variable déclarée dans un bloc if ou else disparaît à la fin de ce bloc. Pour l'utiliser après les conditions, il faut la déclarer avant le bloc. Le défi consiste à calculer le score final dans les conditions, puis à l'afficher.

Points clés

  • Une variable déclarée dans un bloc n'existe qu'à l'intérieur de ce bloc.
  • Tenter de l'utiliser hors du bloc provoque une erreur.
  • Une variable déclarée avant un bloc reste accessible à l'intérieur de celui-ci.
  • Le score final doit être calculé avant son affichage.

Questions fréquentes

Pourquoi une variable disparaît-elle à la fin d'un bloc ?

Le bloc délimite la portée de la variable, c'est-à-dire la zone où elle existe. Hors de cette zone, elle n'est plus disponible.

Comment rendre une variable utilisable après un if ?

Il faut la déclarer avant le bloc if, puis lui affecter sa valeur à l'intérieur du bloc.

Quel est le défi de cette leçon ?

Déclarer une variable de score, calculer le score final avec les conditions, puis afficher le résultat.