1 / 26

Contrôle du déroulement du programme

Contrôle du déroulement du programme. Objectifs. A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision Exécuter des opérations en boucle Déboguer une application au moyen du débogueur Eclipse. Vue d'ensemble.

gyan
Download Presentation

Contrôle du déroulement du programme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Contrôle du déroulement du programme

  2. Objectifs A la fin de ce cours, vous serez capables de : • Utiliser les constructions de prise de décision • Exécuter des opérations en boucle • Déboguer une application au moyen du débogueur Eclipse

  3. Vue d'ensemble • Par défaut, le code s'exécute de manière séquentielle. • Une exécution conditionnelle est nécessaire pour du code plus complexe. • Les instructions peuvent exiger une exécution itérative. • Java offre des mécanismes de contrôle standard.

  4. Types de contrôle de base Le contrôle du flot peut être catégorisé en quatre types : En séquence Par sélection Par itération Par transfert

  5. Contrôle du déroulement dans Java • Les instructions peuvent être regroupées en utilisant des accolades pour former une instruction composée, appelée également bloc. • Chaque bloc s'exécute comme une instruction unique dans le flot de la structure de contrôle. { boolean finished = true; System.out.println("i = " + i); i++; }

  6. L'instruction if if ( boolean_expr ) statement1; [else] statement2; Forme générale : if (i % 2 == 0) System.out.println("Even"); else System.out.println("Odd"); … Exemples : if (i % 2 == 0) { System.out.println(i); System.out.println(" is even"); }

  7. Instructions if imbriquées if (speed >= 25) if (speed > 65) System.out.println("Speed over 65"); else System.out.println("Speed over 25"); else System.out.println("Speed under 25"); if (speed > 65) System.out.println("Speed over 65"); else if (speed >= 25) System.out.println("Speed over 25"); else System.out.println("Speed under 25");

  8. L'opérateur conditionnel (?:) • Solution alternative à if…else : • Si boolean_expr est true, le résultat est expr1, sinon le résultat est expr2 : boolean_expr ? expr1 : expr2 int val1 = 120, val2 = 0; int highest; highest = (val1 > val2) ? 100 : 200; System.out.println("Highest value is " + highest);

  9. Exercice pratique : trouvez les erreurs et corrigez-les 1 int x = 3, y = 5; if (x >= 0) if (y < x) System.out.println("y is less than x"); else System.out.println("x is negative"); 2 int x = 7; if (x = 0) System.out.println("x is zero"); 3 int x = 15, y = 24; if ( x % 2 == 0 && y % 2 == 0 ); System.out.println("x and y are even");

  10. L'instruction switch Pratique pour effectuer une sélection parmi un certain nombre de valeurs entières possibles switch ( integer_expr ) { case constant_expr1: statement1; break; case constant_expr2: statement2; break; [default: statement3; break;] }

  11. L'instruction switch (suite) switch (choice) { case 37: System.out.println("Coffee?"); break; case 45: System.out.println("Tea?"); break; default: System.out.println("???"); break; } • Les libellés Case doivent être des constantes. • Utilisez break pour sortir de switch. • Fournissez toujours une valeur default.

  12. Mise en boucle • Trois types de boucles dans Java : • while • do…while • for • Toutes les boucles se composent de quatre éléments : • Initialisation • Itération • Corps • Terminaison

  13. La boucle while • while est l'instruction de boucle la plus simple. Sa forme générale est : • Exemple : while ( boolean_expr ) statement; int i = 0; while (i < 10) { System.out.println("i = " + i); i++; }

  14. La boucle do…while • Les boucles do…while effectuent le test à la fin : • Exemple : do statement; while ( termination ); int i = 0; do { System.out.println("i = " + i); i++; } while (i < 10);

  15. La boucle for • Les boucles for sont les boucles les plus courantes : • Exemple : • A quoi cela ressemblerait-il si une boucle while était utilisée ? for ( initialization; termination; iteration ) statement; for (i = 0; i < 10; i++) System.out.println(i);

  16. La boucle for (suite) • Les variables peuvent être déclarées dans la section initialisation d'une boucle for : • L'initialisation et l'itération peuvent consister en une liste d'expressions séparées par des virgules : for (int i = 0; i < 10; i++) System.out.println("i = " + i); for (int i = 0, j = 10; i < j; i++, j--) { System.out.println("i = " + i); System.out.println("j = " + j); }

  17. Exercice pratique : trouvez les erreurs 1 int x = 10; while (x > 0); System.out.println(x--); System.out.println("We have lift off!"); int x = 10; while (x > 0) System.out.println("x is " + x); x--; 2 int sum = 0; for (; i < 10; sum += i++); System.out.println("Sum is " + sum); 3

  18. L'instruction break Permet de sortir d'une boucle ou d'une instruction switch : • Passe le contrôle à la première instruction après le corps de la boucle ou de l'instruction switch • Peut simplifier le code … while (age <= 65) { balance = (balance+payment) * (1 + interest)); if (balance >= 250000) break; age++; } …

  19. L'instruction continue • Ne peut être utilisée que dans des boucles • Abandonne l'itération en cours de boucle et passe à l'itération suivante de la boucle … for (int year = 2000; year < 2099; year++) { if ((year % 100 == 0) && (year % 400 != 0)) continue; if (year % 4 == 0) System.out.println(year); } …

  20. Instructions break et continue libellées Ces instructions peuvent être utilisées pour sortir des boucles imbriquées ou poursuivre une boucle externe hors de la boucle en cours outer_loop: for (int i = 0; i < 10; i++) { for (int j = 0; j < 5; j++) { System.out.println(i, j); if (i + j > 7) break outer_loop; } } …

  21. Débogueur Eclipse • Permet de retrouver et de corriger les erreurs de programme • Erreurs d'exécution • Erreurs logiques • Permet de contrôler l'exécution • Permet d'examiner les variables

  22. Points de rupture Définition des points de rupture : • Gestion de plusieurs points de rupture • Points de rupture conditionnels

  23. Utilisation du débogueur

  24. Exécution d'un programme pas à pas Vous pouvez exécuter un programme pas à pas au moyen des boutons de la barre d'outils du débogueur : • Exécuter le programme. • Arrêter momentanément l'exécution. • Arrêter le débogueur. • Analyser un appel de méthode. • Sauter un appel de méthode. • Poursuivre l'exécution de la méthode jusqu'à la fin.

  25. Variables de surveillance • Vous pouvez examiner et modifier les variables locales dans le volet Data. • Pour surveiller d'autres variables : • Sélectionnez une variable dans le volet Source. • Cliquez sur la variable à l'aide du bouton droit de la souris pour la sélectionner. • Sélectionnez la commande "Watch" dans le menu contextuel. • Visualisez la variable dans le volet de surveillance.

  26. Résumé Voici les principaux enseignements de cette leçon : • La principale ressource pour la prise de décision est l'instruction if associée éventuellement à else. • Java fournit également l'instruction switch. • Java dispose de trois instructions de boucle : while, do…while et for. • Utilisez break et continue modérément. • Utilisez le débogueur Eclipse pour parcourir le programme Java à la recherche d'erreurs éventuelles.

More Related