[tab name=’Exercice Java’]
Le programme Portee.java ci-dessous sert à illustrer un point important qui concerne la portée des variables dans un programme. Sans exécuter le programme, indiquez tout ce que le programme affichera à l’écran lors de l’exécution. Exécutez ensuite le programme (en cliquant ci-dessous sur « Exécutez le programme ») pour vérifier votre réponse.
class Portee { public static void main(String[] args) { int x = 11, y = 22; System.out.println("1. x = " + x); System.out.println("2. y = " + y); System.out.println(); calculer1(x, y); System.out.println("5. x = " + x); System.out.println("6. y = " + y); System.out.println(); calculer2(x, y); System.out.println("11. x = " + x); System.out.println("12. y = " + y); System.out.println(); int [] object = {5}; System.out.println("13. object [0] = " + object [0]); calculer3(object); System.out.println("15. object [0] = " + object [0]); } static void calculer1(int x, int y) { x = 878; y++; System.out.println("3. x = " + x); System.out.println("4. y = " + y); } static void calculer2(int a, int b) { int x = 33; int y = 44; a = 2 * x; b = 2 * y; System.out.println("7. x = " + x); System.out.println("8. y = " + y); System.out.println("9. a = " + a); System.out.println("10. b = " + b); } static void calculer3(int [] object) { object [0] = 37; System.out.println("14. object [0] = " + object [0]); } }
[/tab][tab name=’Correction’]
Le programme illustre le fait que chaque variable est locale au bloc où elle a été déclarée. Cela veut dire que la portée (en anglais scope) de la variable est limitée à ce bloc et que la variable n’est pas visible ou utilisable ailleurs dans le programme. Notamment les variables déclarées dans une méthode sont locales à la méthode en question et ne peuvent pas être accédées depuis d’autres méthodes. Pour communiquer une valeur d’une méthode à une autre, il faut l’envoyer comme argument dans l’appel.
Exécution du programme Portee:
1. x = 11 2. y = 22 3. x = 878 4. y = 23 5. x = 11 6. y = 22 7. x = 33 8. y = 44 9. a = 66 10. b = 88 11. x = 11 12. y = 22 13. object [0] = 5 14. object [0] = 37 15. object [0] = 37
[/tab][end_tabset skin= »ginger » ]