[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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | 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 » ]