Programmer en Java 3e édition
Claude Delannoyقیمت نهایی
۴۹٬۰۰۰ تومان
نسخه اصلی و اورجینال
بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.
تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی
مشخصات کتاب
- نویسنده
- Claude Delannoy
- سال انتشار
- ۲۰۰۶
- فرمت
- زبان
- فرانسوی
- حجم فایل
- ۳٫۹ مگابایت
دربارهٔ کتاب
Table des matières......Page 7 Avant-propos......Page 26 1. Petit historique du langage......Page 30 2.1 Les concepts d’objet et d’encapsulation......Page 31 2.4 Java est presque un pur langage de P.O.O.......Page 32 3.1.1 Les programmes à interface console......Page 33 3.2.1 Cas d’une interface console......Page 34 3.3.3 On peut disposer d’une interface console en Java......Page 35 4. Java et la portabilité......Page 36 1. Premier exemple de programme Java......Page 38 1.1 Structure générale du programme......Page 39 1.2 Contenu du programme......Page 40 2. Exécution d’un programme Java......Page 41 3. Quelques instructions de base......Page 43 4. Lecture d’informations au clavier......Page 45 4.2 Utilisation de cette classe......Page 46 5. Boucles et choix......Page 47 6.1 Les identificateurs......Page 50 6.3 Les séparateurs......Page 51 6.4 Le format libre......Page 52 6.5.2 Les commentaires de fin de ligne......Page 53 6.6 Emploi du code Unicode dans le programme source......Page 54 1. La notion de type......Page 56 2.1.2 Cas d’un nombre négatif......Page 57 2.2 Les différents types d’entiers......Page 58 3.1 Les différents types et leur représentation en mémoire......Page 59 3.2 Notation des constantes flottantes......Page 61 4.2 Ecriture des constantes de type caractère......Page 62 6.1 Initialisation d’une variable......Page 65 6.3.1 Le mot clé final......Page 66 6.3.3 L’initialisation d’une variable final peut être différée......Page 67 1. Originalité des notions d’opérateur et d’expression......Page 70 2.1 Présentation des opérateurs......Page 72 2.2 Les priorités relatives des opérateurs......Page 73 2.3.2 Cas des flottants......Page 74 3.1 Notion d'expression mixte......Page 75 3.3 Les promotions numériques......Page 76 3.4 Conséquences des règles de conversion......Page 77 3.5 Le cas du type char......Page 78 4.1 Présentation générale......Page 79 4.4 Cas particulier des opérateurs == et !=......Page 81 5.1 Généralités......Page 82 5.3 Priorités......Page 83 6.1 Restrictions......Page 84 6.3.1 Généralités......Page 85 6.3.2 Quelques conséquences......Page 86 6.3.3 Cas particulier des expressions constantes......Page 87 7.1 Leur rôle......Page 88 7.3.1 Alléger l’écriture......Page 89 8.1 Présentation générale......Page 90 8.2 Conversions forcées......Page 91 9.1 Présentation générale......Page 92 9.2 Conversions autorisées par cast......Page 93 9.3 Règles exactes des conversions numériques......Page 94 10.1Présentation générale......Page 95 10.2Les opérateurs bit à bit......Page 96 10.3Les opérateurs de décalage......Page 97 10.4Exemples d'utilisation des opérateurs de bits......Page 98 11. L’opérateur conditionnel......Page 99 12. Récapitulatif des priorités des opérateurs......Page 100 5 - Les instructions de contrôle de Java......Page 102 1.1 Blocs d'instructions......Page 103 1.3 Exemples......Page 104 1.4 Imbrication des instructions if......Page 105 2.1.1 Premier exemple......Page 106 2.1.2 L'étiquette default......Page 108 2.1.3 Un exemple plus général......Page 109 2.2 Syntaxe de l'instruction switch......Page 110 3.1 Exemple d'introduction......Page 111 3.2 Syntaxe de l'instruction do... while......Page 112 4.2 Syntaxe de l’instruction while......Page 114 5.1 Exemple d'introduction......Page 115 5.2 L’instruction for en général......Page 116 5.3 Syntaxe de l’instruction for......Page 117 6.1 L’instruction break ordinaire......Page 120 6.2 L’instruction break avec étiquette......Page 121 6.3 L’instruction continue ordinaire......Page 122 6.4 L’instruction continue avec étiquette......Page 124 6 - Les classes et les objets......Page 126 1.1 Définition d’une classe Point......Page 127 1.1.2 Définition des méthodes......Page 128 1.2.1 La démarche......Page 130 1.2.2 Exemple......Page 131 1.3.1 Un fichier source par classe......Page 132 1.3.2 Plusieurs classes dans un même fichier source......Page 133 2.2 Exemple de classe comportant un constructeur......Page 135 2.3 Quelques règles concernant les constructeurs......Page 137 2.4.1 Initialisation par défaut des champs d’un objet......Page 138 2.4.3 Appel du constructeur......Page 139 2.4.4 Cas des champs déclarés avec l’attribut final......Page 140 3.1 Les notions de contrat et d’implémentation......Page 142 3.2 Typologie des méthodes d’une classe......Page 143 4.1 Premier exemple......Page 144 4.2 Second exemple......Page 145 4.3 Initialisation de référence et référence nulle......Page 146 4.4 La notion de clone......Page 147 5. Le ramasse-miettes......Page 148 6.1 Méthodes fonction......Page 150 6.2.2 Conversion des arguments effectifs......Page 151 6.3 Propriétés des variables locales......Page 152 7.1.1 Présentation......Page 154 7.1.2 Exemple......Page 155 7.2.2 Exemple......Page 157 7.2.3 Autres utilisations des méthodes de classe......Page 158 7.3.2 Bloc d’initialisation statique......Page 159 8.1 Exemple introductif......Page 160 8.2 En cas d’ambiguïté......Page 161 8.3 Règles générales......Page 162 8.4 Surdéfinition de constructeurs......Page 163 8.5 Surdéfinition et droits d’accès......Page 164 9. Echange d’informations avec les méthodes......Page 165 9.2 Conséquences pour les types primitifs......Page 166 9.3.1 L’unité d’encapsulation est la classe......Page 167 9.3.2 Conséquences de la transmission de la référence d’un objet......Page 169 9.4 Cas de la valeur de retour......Page 171 9.5.2 Exemples d’utilisation de this......Page 173 9.5.3 Appel d’un constructeur au sein d’un autre constructeur......Page 174 10. La récursivité des méthodes......Page 175 11. Les objets membres......Page 177 12.1Imbrication de définitions de classe......Page 180 12.2Lien entre objet interne et objet externe......Page 181 12.3Exemple complet......Page 183 13.1Attribution d’une classe à un paquetage......Page 186 13.2Utilisation d’une classe d’un paquetage......Page 187 13.4.1 Droits d’accès aux classes......Page 188 13.4.2 Droits d’accès aux membres d’une classe......Page 189 1.1 Introduction......Page 192 1.2 Déclaration de tableaux......Page 193 1.3.2 Utilisation d’un initialiseur......Page 194 2.1 Accès individuel aux éléments d’un tableau......Page 195 2.2 Affectation de tableaux......Page 196 2.4 Exemple de tableau d’objets......Page 198 3. Tableau en argument ou en retour......Page 199 4. Les tableaux à plusieurs indices......Page 200 4.1 Présentation générale......Page 201 4.2 Initialisation......Page 202 4.3 Exemple......Page 203 4.4 Cas particulier des tableaux réguliers......Page 204 8 - L’héritage......Page 206 1. La notion d’héritage......Page 207 2.1 Une classe dérivée n’accède pas aux membres privés......Page 209 2.2 Elle accède aux membres publics......Page 210 2.3 Exemple de programme complet......Page 211 3.1.1 Exemple introductif......Page 213 3.1.2 Cas général......Page 216 3.2 Initialisation d’un objet dérivé......Page 218 4. Dérivations successives......Page 219 5.2 La notion de redéfinition de méthode......Page 220 5.3 Redéfinition de méthode et dérivations successives......Page 222 5.4 Surdéfinition et héritage......Page 223 5.5 Utilisation simultanée de surdéfinition et de redéfinition......Page 224 5.6.1 Valeur de retour......Page 225 5.7 Règles générales de redéfinition et de surdéfinition......Page 226 5.8 Duplication de champs......Page 227 6. Le polymorphisme......Page 228 6.1 Les bases du polymorphisme......Page 229 6.2 Généralisation à plusieurs classes......Page 232 6.3 Autre situation où l’on exploite le polymorphisme......Page 233 6.4 Polymorphisme, redéfinition et surdéfinition......Page 236 6.5.1 Cas d’une méthode non surdéfinie......Page 237 6.5.2 Cas d’une méthode surdéfinie......Page 238 6.7 Les conversions explicites de références......Page 239 6.8 Le mot clé super......Page 240 6.9 Limites de l’héritage et du polymorphisme......Page 241 7.1 Utilisation d’une référence de type Object......Page 242 7.2.1 La méthode toString......Page 243 7.2.2 La méthode equals......Page 244 8. Les membres protégés......Page 245 10. Classes et méthodes finales......Page 246 11.1Présentation......Page 247 11.2 Quelques règles......Page 248 11.3 Intérêt des classes abstraites......Page 249 11.4 Exemple......Page 250 12.1.1 Définition d’une interface......Page 251 12.2 Variables de type interface et polymorphisme......Page 252 12.4 Interfaces et constantes......Page 254 12.6 Conflits de noms......Page 255 12.7 L’interface Cloneable......Page 256 13. Les classes enveloppes......Page 257 14.2 Relations entre classes......Page 258 14.3 Différences entre interface et héritage......Page 259 15.1 Exemple de classe anonyme......Page 260 15.2.2 Utilisation de la référence à une classe anonyme......Page 261 9 - Les chaînes de caractères......Page 264 1.2 Un objet de type String n’est pas modifiable......Page 265 1.3 Entrées-sorties de chaînes......Page 266 1.5 Accès aux caractères d’une chaîne : charAt......Page 267 1.6 Concaténation de chaînes......Page 268 1.7 Conversions des opérandes de l’opérateur +......Page 269 1.9 Ecriture des constantes chaînes......Page 270 2. Recherche dans une chaîne......Page 271 3.2 La méthode equals......Page 273 3.3 La méthode compareTo......Page 274 4. Modification de chaînes......Page 275 5. Tableaux de chaînes......Page 276 6.1 Conversion d’un type primitif en une chaîne......Page 277 6.2 Les conversions d’une chaîne en un type primitif......Page 279 7. Conversions entre chaînes et tableaux de caractères......Page 281 8. Les arguments de la ligne de commande......Page 282 9. La classe StringBuffer......Page 283 10 - La gestion des exceptions......Page 286 1.1 Comment déclencher une exception avec throw......Page 287 1.3 Le programme complet......Page 288 1.4 Premières propriétés de la gestion d’exception......Page 289 2. Gestion de plusieurs exceptions......Page 291 3.1 Par l’objet fourni à l’instruction throw......Page 293 3.2 Par le constructeur de la classe exception......Page 294 4. Le mécanisme de gestion des exceptions......Page 295 4.1 Poursuite de l’exécution......Page 296 4.2 Choix du gestionnaire d’exception......Page 297 4.4 La clause throws......Page 299 4.5 Redéclenchement d’une exception......Page 300 4.6 Le bloc finally......Page 302 5. Les exceptions standard......Page 304 11 - Les threads......Page 306 1. Exemple introductif......Page 307 2. Utilisation de l’interface Runnable......Page 309 3.1 Démarche usuelle d’interruption par un autre thread......Page 312 3.2 Threads démons et arrêt brutal......Page 314 4.1 Méthodes synchronisées......Page 316 4.2 Exemple......Page 317 4.3 Notion de verrou......Page 319 4.5 Interblocage......Page 320 4.6 Attente et notification......Page 321 5. Etats d’un thread......Page 325 6. Priorités des threads......Page 326 12 - Les bases de la programmation graphique......Page 328 1.1 La classe JFrame......Page 329 1.3 Création d’une classe fenêtre personnalisée......Page 331 1.4 Action sur les caractéristiques d’une fenêtre......Page 332 2.1 Implémentation de l’interface MouseListener......Page 334 2.2 Utilisation de l’information associée à un événement......Page 337 2.3 La notion d’adaptateur......Page 338 2.4 La gestion des événements en général......Page 340 3.2 Affichage du bouton : la notion de gestionnaire de mise en forme......Page 341 3.3 Gestion du bouton avec un écouteur......Page 344 4. Gestion de plusieurs composants......Page 345 4.1.1 Tous les boutons déclenchent la même réponse......Page 346 4.1.2 La méthode getSource......Page 347 4.1.3 La méthode getActionCommand......Page 349 4.2.1 Une classe écouteur pour chaque bouton......Page 351 4.2.2 Une seule classe écouteur pour les deux boutons......Page 352 4.3 Dynamique des composants......Page 354 5. Premier dessin......Page 357 5.1 Création d’un panneau......Page 358 5.2 Dessin dans le panneau......Page 359 5.3 Forcer le dessin......Page 361 5.4 Ne pas redéfinir inutilement paintComponent......Page 363 6. Dessiner à la volée......Page 364 7.2 Connaître les dimensions d’un composant......Page 367 7.3 Imposer une taille à un composant......Page 368 13 - Les contrôles usuels......Page 372 1.2.1 Réaction à l’action sur une case à cocher......Page 373 1.3 Exemple......Page 374 2.1 Généralités......Page 376 2.2.1 Réaction à l’action sur un bouton radio......Page 377 2.3 Exemples......Page 378 3.2 Exemple......Page 382 4.2 Exploitation usuelle d’un champ de texte......Page 384 4.3 Exploitation fine d’un champ de texte......Page 389 5.1 Généralités......Page 390 5.2.1 Accès aux informations sélectionnées......Page 392 5.2.2 Événements générés par les boîtes de liste......Page 393 5.3 Exemple......Page 394 6.1.1 La boîte combo pour l’utilisateur du programme......Page 396 6.2 Exploitation d’une boîte combo......Page 397 6.2.2 Les événements générés par une boîte combo......Page 398 6.2.3 Exemple......Page 399 6.3.2 Exemple......Page 400 7. Exemple d’application......Page 402 1. Les boîtes de message......Page 406 1.1 La boîte de message usuelle......Page 407 1.2 Autres possibilités......Page 408 2.1 La boîte de confirmation usuelle......Page 409 2.2 Autres possibilités......Page 411 3.1 La boîte de saisie usuelle......Page 412 3.2 Autres possibilités......Page 413 4. Les boîtes d’options......Page 414 5.1.1 Construction......Page 416 5.1.3 Exemple......Page 417 5.1.4 Utilisation d’une classe dérivée de JDialog......Page 418 5.2.1 Introduction des composants......Page 419 5.2.2 Gestion du dialogue......Page 420 5.2.5 Exemple complet......Page 421 5.3 Canevas général d’utilisation d’une boîte de dialogue modale......Page 424 6. Exemple d’application......Page 425 15 - Les menus, les actions et les barres d’outils......Page 430 1.1 Création......Page 431 1.3 Exemple......Page 432 2. Les différentes sortes d’options......Page 434 3. Les menus surgissants......Page 437 4.1 Les caractères mnémoniques......Page 440 4.2 Les accélérateurs......Page 441 4.3 Exemple......Page 442 5. Les bulles d’aide......Page 443 6.1 Exemple avec des menus déroulants usuels......Page 444 6.2 Exemple avec un menu surgissant......Page 445 7.1 Activation et désactivation d’options......Page 446 8. Les actions......Page 447 8.1.3 Gestion des événements associés à une action......Page 448 8.1.4 Exemple complet......Page 449 8.2 Association d’une même action à plusieurs composants......Page 450 8.3 Cas des boutons......Page 452 8.4.1 Informations associées à la classe AbstractAction......Page 454 9. Les barres d’outils......Page 455 9.1 Généralités......Page 456 9.2 Barrres d’outils flottantes ou intégrées......Page 457 9.4 Association d’actions à une barre d’outils......Page 458 10. Exemple d’application......Page 459 16 - Les événements de bas niveau......Page 464 1.1 Gestion de l’appui et du relâchement des boutons......Page 465 1.2 Identification du bouton et clics multiples......Page 467 1.3 Gestion des déplacements de la souris......Page 469 1.4 Exemple de sélection de zone......Page 471 2.1 Les événements générés......Page 473 2.2 Identification des touches......Page 474 2.3 Exemple......Page 476 2.4 Etat des touches modificatrices......Page 477 2.6.1 Capture par la fenêtre......Page 478 2.6.2 Capture par des actions......Page 479 2.7 Exemple combinant clavier et souris......Page 481 3.1 Généralités......Page 483 4.1 Généralités......Page 484 4.2 Forcer le focus......Page 485 4.3 Exemple......Page 486 17 - Les gestionnaires de mise en forme......Page 488 1. Le gestionnaire BorderLayout......Page 489 2. Le gestionnaire FlowLayout......Page 491 3. Le gestionnaire CardLayout......Page 493 4. Le gestionnaire GridLayout......Page 496 5.1 Généralités......Page 497 5.2 Exemple de box horizontal......Page 498 5.3 Exemple de box vertical......Page 499 5.4 Modifier l’espacement avec strut et glue......Page 501 6.1 Présentation générale......Page 503 6.2 Exemple......Page 504 18 - Textes et graphiques......Page 508 1.1 Deux textes consécutifs sur une même ligne......Page 509 1.2 Affichage de deux lignes consécutives......Page 511 1.3 Les différentes informations relatives à une fonte......Page 512 2. Choix de fontes......Page 513 2.1 Les fontes logiques......Page 514 2.2 Les fontes physiques......Page 516 3.2 Construction d’un objet couleur......Page 519 4.1 Généralités......Page 520 4.2 Lignes droites, rectangles et ellipses......Page 521 4.3 Rectangles à coins arrondis......Page 522 4.4 Polygones et lignes brisées......Page 523 4.5 Tracés d’arcs......Page 525 5. Remplissage de formes......Page 526 6. Mode de dessin......Page 528 7.2 Charger une image et l’afficher......Page 531 7.2.1 Chargement d’une image avec attente......Page 532 7.2.2 Chargement d’une image sans attente......Page 534 1. Première applet......Page 536 2.1 Généralités......Page 538 2.2 Fichier HTML de lancement d’une applet......Page 539 3.1 Généralités......Page 540 3.2 Exemple......Page 541 4. Différents stades de la vie d’une applet......Page 542 5. Transmission d’informations à une applet......Page 544 7. Transformation d’une application graphique en une applet......Page 546 20 - Les flux et les fichiers......Page 552 1.1 Généralités......Page 553 1.2 Exemple de programme......Page 554 2.2 Exemple de programme......Page 556 3.2 Exemple d’accès direct à un fichier existant......Page 559 3.3 Les possibilités de l’accès direct......Page 560 3.4.2 Positionnement hors fichier......Page 561 4.1 Introduction......Page 563 4.2.1 Généralités......Page 564 4.2.2 Exemple......Page 565 4.3 Exemple de lecture d’un fichier texte......Page 566 4.3.1 Accès aux lignes d’un fichier texte......Page 567 4.3.2 La classe StringTokenizer......Page 568 5.1 Création d’un objet de type File......Page 571 5.2.2 Création et suppression......Page 573 5.2.5 Accès aux membres d’un répertoire......Page 574 6.1 Généralités......Page 575 6.2 Les flux binaires de sortie......Page 576 6.3 Les flux binaires d’entrée......Page 578 6.5 Les flux texte de sortie......Page 579 6.6 Les flux texte d’entrée......Page 581 21 - Les collections et les algorithmes......Page 582 1.2 Ordre des éléments d’une collection......Page 583 1.2.1 Utilisation de la méthode compareTo......Page 584 1.3 Egalité d’éléments d’une collection......Page 585 1.4 Les itérateurs et leurs méthodes......Page 586 1.4.1 Les itérateurs monodirectionnels : l’interface Iterator......Page 587 1.4.2 Les itérateurs bidirectionnels : l’interface ListIterator......Page 589 1.4.3 Les limitations des itérateurs......Page 591 1.6 Opérations communes à toutes les collections......Page 592 1.6.2 Modifications indépendantes d’un itérateur......Page 593 1.6.4 Autres méthodes......Page 594 2.1 Généralités......Page 595 2.2 Opérations usuelles......Page 596 2.3 Exemples......Page 597 2.4 Autres possibilités peu courantes......Page 600 3.2 Opérations usuelles......Page 601 3.3 Exemples......Page 603 3.5 Autres possibilités peu usuelles......Page 605 4.1 Généralités......Page 606 4.2 Opérations usuelles......Page 607 4.3 Exemple......Page 609 4.4 Opérations ensemblistes......Page 610 4.5.1 Notion de table de hachage......Page 612 4.5.2 La méthode hashCode......Page 613 4.5.3 Exemple......Page 614 4.6.1 Généralités......Page 615 4.6.2 Exemple......Page 616 5.1 Recherche de maximum ou de minimum......Page 617 5.2 Tris et mélanges......Page 619 6.1 Généralités......Page 620 6.3 Présentation générale des classes HashMap et TreeMap......Page 621 6.5 Autres vues associées à une table......Page 622 6.6 Exemple......Page 623 7. Vues synchronisées ou non modifiables......Page 625 22 - Programmation Java côté serveur : servlets et JSP......Page 628 1.1.1 La classe HttpServlet et la méthode doGet......Page 629 1.1.2 Construction de la réponse au client......Page 630 1.3 Installation de la servlet sur le serveur......Page 631 1.4 Test du fonctionnement d’une servlet......Page 632 2. Transmission de paramètres à une servlet......Page 633 2.1.2 Ecriture de la servlet......Page 634 2.2 Utilisation d’un formulaire HTML......Page 636 2.3 Utilisation de la méthode POST......Page 638 3. Cycle de vie d’une servlet : les méthodes init et destroy......Page 640 4. Exemple de servlet de calcul de factorielles......Page 642 5.2 Notion de scriptlet......Page 644 5.3 Exécution d’un JSP......Page 645 6. Transmission de paramètres à un JSP : l’objet request......Page 646 7.2.1 Introduction......Page 648 7.2.2 Exemples......Page 649 7.3 Commentaires......Page 650 7.4.2 Exemple de déclaration de variables d’instances (champs)......Page 651 7.5 Exemple de JSP de calcul de factorielles......Page 653 8.1.1 Utilisation d’un objet usuel dans un JSP......Page 655 8.1.2 Utilisation d’un objet de type JavaBean......Page 656 8.2 Utilisation directe de paramètres dans des JavaBeans......Page 658 8.3 Exemple d’utilisation d’une classe Point transformée en JavaBean......Page 659 8.4.1 Notion de suivi de session......Page 660 8.4.3 Les différentes portées d’un JavaBean......Page 661 9.1 Inclusion statique d’une page JSP dans une autre......Page 662 9.3 Inclusion dynamique de JSP......Page 663 Annexes......Page 664 1. Modificateurs d’accès des classes et interfaces......Page 666 2. Modificateurs d’accès pour les membres et les classes internes......Page 667 B - La classe Clavier......Page 668 C - Les constantes et fonctions mathématiques......Page 672 1.1 Exceptions explicites......Page 674 2. Paquetage java.io......Page 675 4.2 Exceptions implicites......Page 676 E - Les composants graphiques et leurs méthodes......Page 678 1. Les classes de composants......Page 679 2. Les méthodes......Page 680 F - Les événements et les écouteurs......Page 688 1. Les événements de bas niveau......Page 689 2. Les événements sémantiques......Page 690 3. Les méthodes des événements......Page 691 G - Les collections......Page 694 1. Les interfaces......Page 695 2. Les classes implémentant List......Page 697 4. Les classes implémentant Map......Page 699 5. Les algorithmes de la classe Collections......Page 700 Index......Page 702 3e édition Table des matières 7 Avant-propos 26 1 - Présentation de Java 30 1. Petit historique du langage 30 2. Java et la Programmation Orientée Objets 31 2.1 Les concepts d’objet et d’encapsulation 31 2.2 Le concept de classe 32 2.3 L’héritage 32 2.4 Java est presque un pur langage de P.O.O. 32 3. Java et la programmation événementielle 33 3.1 Interface console ou interface graphique 33 3.1.1 Les programmes à interface console 33 3.1.2 Les programmes à interface graphique (G.U.I.) 34 3.2 Les fenêtres associées à un programme 34 3.2.1 Cas d’une interface console 34 3.2.2 Cas d’une interface graphique 35 3.3 Java et les interfaces 35 3.3.1 La gestion des interfaces graphiques est intégrée dans Java 35 3.3.2 Applications et applets 35 3.3.3 On peut disposer d’une interface console en Java 35 4. Java et la portabilité 36 2 - Généralités 38 1. Premier exemple de programme Java 38 1.1 Structure générale du programme 39 1.2 Contenu du programme 40 2. Exécution d’un programme Java 41 3. Quelques instructions de base 43 4. Lecture d’informations au clavier 45 4.1 Présentation d’une classe de lecture au clavier 46 4.2 Utilisation de cette classe 46 5. Boucles et choix 47 6. Règles générales d’écriture 50 6.1 Les identificateurs 50 6.2 Les mots clés 51 6.3 Les séparateurs 51 6.4 Le format libre 52 6.5 Les commentaires 53 6.5.1 Les commentaires usuels 53 6.5.2 Les commentaires de fin de ligne 53 6.6 Emploi du code Unicode dans le programme source 54 3 - Les types primitifs de Java 56 1. La notion de type 56 2. Les types entiers 57 2.1 Représentation mémoire 57 2.1.1 Cas d’un nombre positif 57 2.1.2 Cas d’un nombre négatif 57 2.2 Les différents types d’entiers 58 2.3 Notation des constantes entières 59 3. Les types flottants 59 3.1 Les différents types et leur représentation en mémoire 59 3.2 Notation des constantes flottantes 61 4. Le type caractère 62 4.1 Généralités 62 4.2 Ecriture des constantes de type caractère 62 5. Le type booléen 65 6. Initialisation et constantes 65 6.1 Initialisation d’une variable 65 6.2 Cas des variables non initialisées 66 6.3 Constantes et expressions constantes 66 6.3.1 Le mot clé final 66 6.3.2 Notion d’expression constante 67 6.3.3 L’initialisation d’une variable final peut être différée 67 4 - Les opérateurs et les expressions 70 1. Originalité des notions d’opérateur et d’expression 70 2. Les opérateurs arithmétiques 72 2.1 Présentation des opérateurs 72 2.2 Les priorités relatives des opérateurs 73 2.3 Comportement en cas d’exception 74 2.3.1 Cas des entiers 74 2.3.2 Cas des flottants 74 3. Les conversions implicites dans les expressions 75 3.1 Notion d'expression mixte 75 3.2 Les conversions d'ajustement de type 76 3.3 Les promotions numériques 76 3.4 Conséquences des règles de conversion 77 3.5 Le cas du type char 78 4. Les opérateurs relationnels 79 4.1 Présentation générale 79 4.2 Cas particulier des valeurs Infinity et NaN 81 4.3 Cas des caractères 81 4.4 Cas particulier des opérateurs == et != 81 5. Les opérateurs logiques 82 5.1 Généralités 82 5.2 Les opérateurs de court-circuit && et || 83 5.3 Priorités 83 6. L’opérateur d’affectation usuel 84 6.1 Restrictions 84 6.2 Associativité de droite à gauche 85 6.3 Conversions par affectation 85 6.3.1 Généralités 85 6.3.2 Quelques conséquences 86 6.3.3 Cas particulier des expressions constantes 87 7. Les opérateurs d’incrémentation et de décrémentation 88 7.1 Leur rôle 88 7.2 Leurs priorités 89 7.3 Leur intérêt 89 7.3.1 Alléger l’écriture 89 7.3.2 Eviter des conversions 90 8. Les opérateurs d’affectation élargie 90 8.1 Présentation générale 90 8.2 Conversions forcées 91 9. L’opérateur de cast 92 9.1 Présentation générale 92 9.2 Conversions autorisées par cast 93 9.3 Règles exactes des conversions numériques 94 10. Les opérateurs de manipulation de bits 95 10.1Présentation générale 95 10.2Les opérateurs bit à bit 96 10.3Les opérateurs de décalage 97 10.4Exemples d'utilisation des opérateurs de bits 98 11. L’opérateur conditionnel 99 12. Récapitulatif des priorités des opérateurs 100 5 - Les instructions de contrôle de Java 102 1. L’instruction if 103 1.1 Blocs d'instructions 103 1.2 Syntaxe de l'instruction if 104 1.3 Exemples 104 1.4 Imbrication des instructions if 105 2. L’instruction switch 106 2.1 Exemples d’introduction 106 2.1.1 Premier exemple 106 2.1.2 L'étiquette default 108 2.1.3 Un exemple plus général 109 2.2 Syntaxe de l'instruction switch 110 3. L’instruction do... while 111 3.1 Exemple d'introduction 111 3.2 Syntaxe de l'instruction do... while 112 4. L’instruction while 114 4.1 Exemple d’introduction 114 4.2 Syntaxe de l’instruction while 114 5. L’instruction for 115 5.1 Exemple d'introduction 115 5.2 L’instruction for en général 116 5.3 Syntaxe de l’instruction for 117 6. Les instructions de branchement inconditionnel break et continue 120 6.1 L’instruction break ordinaire 120 6.2 L’instruction break avec étiquette 121 6.3 L’instruction continue ordinaire 122 6.4 L’instruction continue avec étiquette 124 6 - Les classes et les objets 126 1. La notion de classe 127 1.1 Définition d’une classe Point 127 1.1.1 Définition des champs 128 1.1.2 Définition des méthodes 128 1.2 Utilisation de la classe Point 130 1.2.1 La démarche 130 1.2.2 Exemple 131 1.3 Mise en oeuvre d’un programme comportant plusieurs classes 132 1.3.1 Un fichier source par classe 132 1.3.2 Plusieurs classes dans un même fichier source 133 2. La notion de constructeur 135 2.1 Généralités 135 2.2 Exemple de classe comportant un constructeur 135 2.3 Quelques règles concernant les constructeurs 137 2.4 Construction et initialisation d’un objet 138 2.4.1 Initialisation par défaut des champs d’un objet 138 2.4.2 Initialisation explicite des champs d’un objet 139 2.4.3 Appel du constructeur 139 2.4.4 Cas des champs déclarés avec l’attribut final 140 3. Eléments de conception des classes 142 3.1 Les notions de contrat et d’implémentation 142 3.2 Typologie des méthodes d’une classe 143 4. Affectation et comparaison d’objets 144 4.1 Premier exemple 144 4.2 Second exemple 145 4.3 Initialisation de référence et référence nulle 146 4.4 La notion de clone 147 4.5 Comparaison d’objets 148 5. Le ramasse-miettes 148 6. Règles d’écriture des méthodes 150 6.1 Méthodes fonction 150 6.2 Les arguments d’une méthode 151 6.2.1 Arguments muets ou effectifs 151 6.2.2 Conversion des arguments effectifs 151 6.3 Propriétés des variables locales 152 7. Champs et méthodes de classe 154 7.1 Champs de classe 154 7.1.1 Présentation 154 7.1.2 Exemple 155 7.2 Méthodes de classe 157 7.2.1 Généralités 157 7.2.2 Exemple 157 7.2.3 Autres utilisations des méthodes de classe 158 7.3 Initialisation des champs de classe 159 7.3.1 Généralités 159 7.3.2 Bloc d’initialisation statique 159 8. Surdéfinition de méthodes 160 8.1 Exemple introductif 160 8.2 En cas d’ambiguïté 161 8.3 Règles générales 162 8.4 Surdéfinition de constructeurs 163 8.5 Surdéfinition et droits d’accès 164 9. Echange d’informations avec les méthodes 165 9.1 Java transmet toujours les informations par valeur 166 9.2 Conséquences pour les types primitifs 166 9.3 Cas des objets transmis en argument 167 9.3.1 L’unité d’encapsulation est la classe 167 9.3.2 Conséquences de la transmission de la référence d’un objet 169 9.4 Cas de la valeur de retour 171 9.5 Autoréférence : le mot clé this 173 9.5.1 Généralités 173 9.5.2 Exemples d’utilisation de this 173 9.5.3 Appel d’un constructeur au sein d’un autre constructeur 174 10. La récursivité des méthodes 175 11. Les objets membres 177 12. Les classes internes 180 12.1Imbrication de définitions de classe 180 12.2Lien entre objet interne et objet externe 181 12.3Exemple complet 183 13. Les paquetages 186 13.1Attribution d’une classe à un paquetage 186 13.2Utilisation d’une classe d’un paquetage 187 13.3Les paquetages standard 188 13.4Paquetages et droits d’accès 188 13.4.1 Droits d’accès aux classes 188 13.4.2 Droits d’accès aux membres d’une classe 189 7 - Les tableaux 192 1. Déclaration et création de tableaux 192 1.1 Introduction 192 1.2 Déclaration de tableaux 193 1.3 Création d’un tableau 194 1.3.1 Création par l’opérateur new 194 1.3.2 Utilisation d’un initialiseur 194 2. Utilisation d’un tableau 195 2.1 Accès individuel aux éléments d’un tableau 195 2.2 Affectation de tableaux 196 2.3 La taille d’un tableau : length 198 2.4 Exemple de tableau d’objets 198 3. Tableau en argument ou en retour 199 4. Les tableaux à plusieurs indices 200 4.1 Présentation générale 201 4.2 Initialisation 202 4.3 Exemple 203 4.4 Cas particulier des tableaux réguliers 204 8 - L’héritage 206 1. La notion d’héritage 207 2. Accès d’une classe dérivée aux membres de sa classe de base 209 2.1 Une classe dérivée n’accède pas aux membres privés 209 2.2 Elle accède aux membres publics 210 2.3 Exemple de programme complet 211 3. Construction et initialisation des objets dérivés 213 3.1 Appels des constructeurs 213 3.1.1 Exemple introductif 213 3.1.2 Cas général 216 3.2 Initialisation d’un objet dérivé 218 4. Dérivations successives 219 5. Redéfinition et surdéfinition de membres 220 5.1 Introduction 220 5.2 La notion de redéfinition de méthode 220 5.3 Redéfinition de méthode et dérivations successives 222 5.4 Surdéfinition et héritage 223 5.5 Utilisation simultanée de surdéfinition et de redéfinition 224 5.6 Contraintes portant sur la redéfinition 225 5.6.1 Valeur de retour 225 5.6.2 Les droits d’accès 226 5.7 Règles générales de redéfinition et de surdéfinition 226 5.8 Duplication de champs 227 6. Le polymorphisme 228 6.1 Les bases du polymorphisme 229 6.2 Généralisation à plusieurs classes 232 6.3 Autre situation où l’on exploite le polymorphisme 233 6.4 Polymorphisme, redéfinition et surdéfinition 236 6.5 Conversions des arguments effectifs 237 6.5.1 Cas d’une méthode non surdéfinie 237 6.5.2 Cas d’une méthode surdéfinie 238 6.6 Les règles du polymorphisme en Java 239 6.7 Les conversions explicites de références 239 6.8 Le mot clé super 240 6.9 Limites de l’héritage et du polymorphisme 241 7. La super-classe Object 242 7.1 Utilisation d’une référence de type Object 242 7.2 Utilisation de méthodes de la classe Object 243 7.2.1 La méthode toString 243 7.2.2 La méthode equals 244 8. Les membres protégés 245 9. Cas particulier des tableaux 246 10. Classes et méthodes finales 246 11. Les classes abstraites 247 11.1Présentation 247 11.2 Quelques règles 248 11.3 Intérêt des classes abstraites 249 11.4 Exemple 250 12. Les interfaces 251 12.1Mise en oeuvre d’une interface 251 12.1.1 Définition d’une interface 251 12.1.2 Implémentation d’une interface 252 12.2 Variables de type interface et polymorphisme 252 12.3 Interface et classe dérivée 254 12.4 Interfaces et constantes 254 12.5 Dérivation d’une interface 255 12.6 Conflits de noms 255 12.7 L’interface Cloneable 256 13. Les classes enveloppes 257 14. Eléments de conception des classes 258 14.1 Respect du contrat 258 14.2 Relations entre classes 258 14.3 Différences entre interface et héritage 259 15. Les classes anonymes 260 15.1 Exemple de classe anonyme 260 15.2 Les classes anonymes d’une manière générale 261 15.2.1 Il s’agit de classes dérivées ou implémentant une interface 261 15.2.2 Utilisation de la référence à une classe anonyme 261 9 - Les chaînes de caractères 264 1. Fonctionnalités de base de la classe String 265 1.1 Introduction 265 1.2 Un objet de type String n’est pas modifiable 265 1.3 Entrées-sorties de chaînes 266 1.4 Longueur d’une chaîne : length 267 1.5 Accès aux caractères d’une chaîne : charAt 267 1.6 Concaténation de chaînes 268 1.7 Conversions des opérandes de l’opérateur + 269 1.8 L’opérateur += 270 1.9 Ecriture des constantes chaînes 270 2. Recherche dans une chaîne 271 3. Comparaisons de chaînes 273 3.1 Les opérateurs == et != 273 3.2 La méthode equals 273 3.3 La méthode compareTo 274 4. Modification de chaînes 275 5. Tableaux de chaînes 276 6. Conversions entre chaînes et types primitifs 277 6.1 Conversion d’un type primitif en une chaîne 277 6.2 Les conversions d’une chaîne en un type primitif 279 7. Conversions entre chaînes et tableaux de caractères 281 8. Les arguments de la ligne de commande 282 9. La classe StringBuffer 283 10 - La gestion des exceptions 286 1. Premier exemple d’exception 287 1.1 Comment déclencher une exception avec throw 287 1.2 Utilisation d’un gestionnaire d’exception 288 1.3 Le programme complet 288 1.4 Premières propriétés de la gestion d’exception 289 2. Gestion de plusieurs exceptions 291 3. Transmission d’information au gestionnaire d’exception 293 3.1 Par l’objet fourni à l’instruction throw 293 3.2 Par le constructeur de la classe exception 294 4. Le mécanisme de gestion des exceptions 295 4.1 Poursuite de l’exécution 296 4.2 Choix du gestionnaire d’exception 297 4.3 Cheminement des exceptions 299 4.4 La clause throws 299 4.5 Redéclenchement d’une exception 300 4.6 Le bloc finally 302 5. Les exceptions standard 304 11 - Les threads 306 1. Exemple introductif 307 2. Utilisation de l’interface Runnable 309 3. Interruption d’un thread 312 3.1 Démarche usuelle d’interruption par un autre thread 312 3.2 Threads démons et arrêt brutal 314 4. Coordination de threads 316 4.1 Méthodes synchronisées 316 4.2 Exemple 317 4.3 Notion de verrou 319 4.4 L’instruction synchronized 320 4.5 Interblocage 320 4.6 Attente et notification 321 5. Etats d’un thread 325 6. Priorités des threads 326 12 - Les bases de la programmation graphique 328 1. Première fenêtre 329 1.1 La classe JFrame 329 1.2 Arrêt du programme 331 1.3 Création d’une classe fenêtre personnalisée 331 1.4 Action sur les caractéristiques d’une fenêtre 332 2. Gestion d’un clic dans la fenêtre 334 2.1 Implémentation de l’interface MouseListener 334 2.2 Utilisation de l’information associée à un événement 337 2.3 La notion d’adaptateur 338 2.4 La gestion des événements en général 340 3. Premier composant : un bouton 341 3.1 Création d’un bouton et ajout dans la fenêtre 341 3.2 Affichage du bouton : la notion de gestionnaire de mise en forme 341 3.3 Gestion du bouton avec un écouteur 344 4. Gestion de plusieurs composants 345 4.1 La fenêtre écoute les boutons 346 4.1.1 Tous les boutons déclenchent la même réponse 346 4.1.2 La méthode getSource 347 4.1.3 La méthode getActionCommand 349 4.2 Classe écouteur différente de la fenêtre 351 4.2.1 Une classe écouteur pour chaque bouton 351 4.2.2 Une seule classe écouteur pour les deux boutons 352 4.3 Dynamique des composants 354 5. Premier dessin 357 5.1 Création d’un panneau 358 5.2 Dessin dans le panneau 359 5.3 Forcer le dessin 361 5.4 Ne pas redéfinir inutilement paintComponent 363 5.5 Notion de rectangle invalide 364 6. Dessiner à la volée 364 7. Gestion des dimensions 367 7.1 Connaître les dimensions de l’écran 367 7.2 Connaître les dimensions d’un composant 367 7.3 Imposer une taille à un composant 368 13 - Les contrôles usuels 372 1. Les cases à cocher 373 1.1 Généralités 373 1.2 Exploitation d’une case à cocher 373 1.2.1 Réaction à l’action sur une case à cocher 373 1.2.2 Etat d’une case à cocher 374 1.3 Exemple 374 2. Les boutons radio 376 2.1 Généralités 376 2.2 Exploitation de boutons radio 377 2.2.1 Réaction à l’action sur un bouton radio 377 2.2.2 Etat d’un bouton radio 378 2.3 Exemples 378 3. Les étiquettes 382 3.1 Généralités 382 3.2 Exemple 382 4. Les champs de texte 384 4.1 Généralités 384 4.2 Exploitation usuelle d’un champ de texte 384 4.3 Exploitation fine d’un champ de texte 389 5. Les boîtes de liste 390 5.1 Généralités 390 5.2 Exploitation d’une boîte de liste 392 5.2.1 Accès aux informations sélectionnées 392 5.2.2 Événements générés par les boîtes de liste 393 5.3 Exemple 394 6. Les boîtes combo 396 6.1 Généralités 396 6.1.1 La boîte combo pour l’utilisateur du programme 396 6.1.2 Construction d’une boîte combo 397 6.2 Exploitation d’une boîte combo 397 6.2.1 Accès à l’information sélectionnée ou saisie 398 6.2.2 Les événements générés par une boîte combo 398 6.2.3 Exemple 399 6.3 Evolution dynamique de la liste d’une boîte combo 400 6.3.1 Les principales possibilités 400 6.3.2 Exemple 400 7. Exemple d’application 402 14 - Les boîtes de dialogue 406 1. Les boîtes de message 406 1.1 La boîte de message usuelle 407 1.2 Autres possibilités 408 2. Les boîtes de confirmation 409 2.1 La boîte de confirmation usuelle 409 2.2 Autres possibilités 411 3. Les boîtes de saisie 412 3.1 La boîte de saisie usuelle 412 3.2 Autres possibilités 413 4. Les boîtes d’options 414 5. Les boîtes de dialogue personnalisées 416 5.1 Construction et affichage d’une boîte de dialogue 416 5.1.1 Construction 416 5.1.2 Affichage 417 5.1.3 Exemple 417 5.1.4 Utilisation d’une classe dérivée de JDialog 418 5.2 Exemple simple de boîte de dialogue 419 5.2.1 Introduction des composants 419 5.2.2 Gestion du dialogue 420 5.2.3 Récupération des informations 421 5.2.4 Gestion de l’objet boîte de dialogue 421 5.2.5 Exemple complet 421 5.3 Canevas général d’utilisation d’une boîte de dialogue modale 424 6. Exemple d’application 425 15 - Les menus, les actions et les barres d’outils 430 1. Les principes des menus déroulants 431 1.1 Création 431 1.2 Événements générés 432 1.3 Exemple 432 2. Les différentes sortes d’options 434 3. Les menus surgissants 437 4. Raccourcis clavier 440 4.1 Les caractères mnémoniques 440 4.2 Les accélérateurs 441 4.3 Exemple 442 5. Les bulles d’aide 443 6. Composition des options 444 6.1 Exemple avec des menus déroulants usuels 444 6.2 Exemple avec un menu surgissant 445 7. Menus dynamiques 446 7.1 Activation et désactivation d’options 446 7.2 Modification du contenu d’un menu 447 8. Les actions 447 8.1 Présentation de la notion d’action abstraite 448 8.1.1 Définition d’une classe action 448 8.1.2 Rattachement d’une action à un composant 448 8.1.3 Gestion des événements associés à une action 448 8.1.4 Exemple complet 449 8.2 Association d’une même action à plusieurs composants 450 8.3 Cas des boutons 452 8.4 Autres possibilités de la classe AbstractAction 454 8.4.1 Informations associées à la classe AbstractAction 454 8.4.2 Activation/désactivation d’options 455 9. Les barres d’outils 455 9.1 Généralités 456 9.2 Barrres d’outils flottantes ou intégrées 457 9.3 Utilisation d’icônes dans les barres d’outils 458 9.4 Association d’actions à une barre d’outils 458 10. Exemple d’application 459 16 - Les événements de bas niveau 464 1. Les événements liés à la souris 465 1.1 Gestion de l’appui et du relâchement des boutons 465 1.2 Identification du bouton et clics multiples 467 1.3 Gestion des déplacements de la souris 469 1.4 Exemple de sélection de zone 471 2. Les événements liés au clavier 473 2.1 Les événements générés 473 2.2 Identification des touches 474 2.3 Exemple 476 2.4 Etat des touches modificatrices 477 2.5 Source d’un événement clavier 478 2.6 Capture de certaines actions du clavier 478 2.6.1 Capture par la fenêtre 478 2.6.2 Capture par des actions 479 2.7 Exemple combinant clavier et souris 481 3. Les événements liés aux fenêtres 483 3.1 Généralités 483 3.2 Arrêt du programme sur fermeture de la fenêtre 484 4. Les événements liés à la focalisation 484 4.1 Généralités 484 4.2 Forcer le focus 485 4.3 Exemple 486 17 - Les gestionnaires de mise en forme 488 1. Le gestionnaire BorderLayout 489 2. Le gestionnaire FlowLayout 491 3. Le gestionnaire CardLayout 493 4. Le gestionnaire GridLayout 496 5. Le gestionnaire BoxLayout 497 5.1 Généralités 497 5.2 Exemple de box horizontal 498 5.3 Exemple de box vertical 499 5.4 Modifier l’espacement avec strut et glue 501 6. Le gestionnaire GridBagLayout 503 6.1 Présentation générale 503 6.2 Exemple 504 18 - Textes et graphiques 508 1. Déterminer la position du texte 509 1.1 Deux textes consécutifs sur une même ligne 509 1.2 Affichage de deux lignes consécutives 511 1.3 Les différentes informations relatives à une fonte 512 2. Choix de fontes 513 2.1 Les fontes logiques 514 2.2 Les fontes physiques 516 3. Les objets couleur 519 3.1 Les constantes couleur prédéfinies 519 3.2 Construction d’un objet couleur 519 4. Les tracés de lignes 520 4.1 Généralités 520 4.2 Lignes droites, rectangles et ellipses 521 4.3 Rectangles à coins arrondis 522 4.4 Polygones et lignes brisées 523 4.5 Tracés d’arcs 525 5. Remplissage de formes 526 6. Mode de dessin 528 7. Affichage d’images 531 7.1 Formats d’images 531 7.2 Charger une image et l’afficher 531 7.2.1 Chargement d’une image avec attente 532 7.2.2 Chargement d’une image sans attente 534 19 - Les applets 536 1. Première applet 536 2. Lancement d’une applet 538 2.1 Généralités 538 2.2 Fichier HTML de lancement d’une applet 539 3. La méthode init 540 3.1 Généralités 540 3.2 Exemple 541 4. Différents stades de la vie d’une applet 542 5. Transmission d’informations à une applet 544 6. Restrictions imposées aux applets 546 7. Transformation d’une application graphique en une applet 546 20 - Les flux et les fichiers 552 1. Création séquentielle d’un fichier binaire 553 1.1 Généralités 553 1.2 Exemple de programme 554 2. Liste séquentielle d’un fichier binaire 556 2.1 Généralités 556 2.2 Exemple de programme 556 3. Accès direct à un fichier binaire 559 3.1 Introduction 559 3.2 Exemple d’accès direct à un fichier existant 559 3.3 Les possibilités de l’accès direct 560 3.4 En cas d’erreur 561 3.4.1 Erreur de pointage 561 3.4.2 Positionnement hors fichier 561 4. Les flux texte 563 4.1 Introduction 563 4.2 Création d’un fichier texte 564 4.2.1 Généralités 564 4.2.2 Exemple 565 4.3 Exemple de lecture d’un fichier texte 566 4.3.1 Accès aux lignes d’un fichier texte 567 4.3.2 La classe StringTokenizer 568 5. La gestion des fichiers : la classe File 571 5.1 Création d’un objet de type File 571 5.2 Utilisation d’objets de type File 573 5.2.1 Dans les constructeurs de flux 573 5.2.2 Création et suppression 573 5.2.3 Test d’existence 574 5.2.4 Informations 574 5.2.5 Accès aux membres d’un répertoire 574 6. Les flux en général 575 6.1 Généralités 575 6.2 Les flux binaires de sortie 576 6.3 Les flux binaires d’entrée 578 6.4 Les fichiers à accès direct 579 6.5 Les flux texte de sortie 579 6.6 Les flux texte d’entrée 581 21 - Les collections et les algorithmes 582 1. Concepts généraux utilisés dans les collections 583 1.1 Généricité et références 583 1.2 Ordre des éléments d’une collection 583 1.2.1 Utilisation de la méthode compareTo 584 1.2.2 Utilisation d’un objet comparateur 585 1.3 Egalité d’éléments d’une collection 585 1.4 Les itérateurs et leurs méthodes 586 1.4.1 Les itérateurs monodirectionnels : l’interface Iterator 587 1.4.2 Les itérateurs bidirectionnels : l’interface ListIterator 589 1.4.3 Les limitations des itérateurs 591 1.5 Efficacité des opérations sur des collections 592 1.6 Opérations communes à toutes les collections 592 1.6.1 Construction et opérations liées à un itérateur 593 1.6.2 Modifications indépendantes d’un itérateur 593 1.6.3 Opérations collectives 594 1.6.4 Autres méthodes 594 1.7 Structure générale des collections 595 2. Les listes chaînées - classe LinkedList 595 2.1 Généralités 595 2.2 Opérations usuelles 596 2.3 Exemples 597 2.4 Autres possibilités peu courantes 600 3. Les vecteurs dynamiques - classe ArrayList 601 3.1 Généralités 601 3.2 Opérations usuelles 601 3.3 Exemples 603 3.4 Gestion de l’emplacement d’un vecteur 605 3.5 Autres possibilités peu usuelles 605 3.6 L’ancienne classe Vector 606 4. Les ensembles 606 4.1 Généralités 606 4.2 Opérations usuelles 607 4.3 Exemple 609 4.4 Opérations ensemblistes 610 4.5 Les ensembles HashSet 612 4.5.1 Notion de table de hachage 612 4.5.2 La méthode hashCode 613 4.5.3 Exemple 614 4.6 Les ensembles TreeSet 615 4.6.1 Généralités 615 4.6.2 Exemple 616 5. Les algorithmes 617 5.1 Recherche de maximum ou de minimum 617 5.2 Tris et mélanges 619 5.3 Autres algorithmes 620 6. Les tables associatives 620 6.1 Généralités 620 6.2 Implémentation 621 6.3 Présentation générale des classes HashMap et TreeMap 621 6.4 Parcours d’une table ; notion de vue 622 6.5 Autres vues associées à une table 622 6.6 Exemple 623 7. Vues synchronisées ou non modifiables 625 22 - Programmation Java côté serveur : servlets et JSP 628 1. Première servlet 629 1.1 Ecriture de la servlet 629 1.1.1 La classe HttpServlet et la méthode doGet 629 1.1.2 Construction de la réponse au client 630 1.2 Exécution de la servlet depuis le client 631 1.3 Installation de la servlet sur le serveur 631 1.4 Test du fonctionnement d’une servlet 632 2. Transmission de paramètres à une servlet 633 2.1 Transmission de paramètres par GET 634 2.1.1 Appel de la servlet 634 2.1.2 Ecriture de la servlet 634 2.1.3 Exemple d’exécution 636 2.2 Utilisation d’un formulaire HTML 636 2.3 Utilisation de la méthode POST 638 3. Cycle de vie d’une servlet : les méthodes init et destroy 640 4. Exemple de servlet de calcul de factorielles 642 5. Premières notions de JSP 644 5.1 Présentation des JSP 644 5.2 Notion de scriptlet 644 5.3 Exécution d’un JSP 645 6. Transmission de paramètres à un JSP : l’objet request 646 7. Les différents éléments de script d’un JSP 648 7.1 Possibilités algorithmiques des scriptlets 648 7.2 Les expressions 648 7.2.1 Introduction 648 7.2.2 Exemples 649 7.2.3 Les expressions d’une manière générale 650 7.3 Commentaires 650 7.4 Les balises de déclaration 651 7.4.1 Présentation 651 7.4.2 Exemple de déclaration de variables d’instances (champs) 651 7.4.3 Déclarations de méthodes d’instance 653 7.4.4 Les balises de déclaration en général 653 7.5 Exemple de JSP de calcul de factorielles 653 8. Utilisation de JavaBeans dans des JSP 655 8.1 Introduction à la notion de JavaBean 655 8.1.1 Utilisation d’un objet usuel dans un JSP 655 8.1.2 Utilisation d’un objet de type JavaBean 656 8.2 Utilisation directe de paramètres dans des JavaBeans 658 8.3 Exemple d’utilisation d’une classe Point transformée en JavaBean 659 8.4 Portée d’un JavaBean 660 8.4.1 Notion de suivi de session 660 8.4.2 Suivi de session avec les JSP et les JavaBeans 661 8.4.3 Les différentes portées d’un JavaBean 661 8.5 Informations complémentaires sur les JavaBeans 662 9. Possibilités de composition des JSP 662 9.1 Inclusion statique d’une page JSP dans une autre 662 9.2 Chaînage de JSP 663 9.3 Inclusion dynamique de JSP 663 Annexes 664 A - Les droits d’accès aux membres, classes et interfaces 666 1. Modificateurs d’accès des classes et interfaces 666 2. Modificateurs d’accès pour les membres et les classes internes 667 B - La classe Clavier 668 C - Les constantes et fonctions mathématiques 672 D - Les exceptions standard 674 1. Paquetage standard (java.lang) 674 1.1 Exceptions explicites 674 1.2 Exceptions implicites 675 2. Paquetage java.io 675 3. Paquetage java.awt 676 3.1 Exceptions explicites 676 3.2 Exceptions implicites 676 4. Paquetage java.util 676 4.1 Exceptions explicites 676 4.2 Exceptions implicites 676 E - Les composants graphiques et leurs méthodes 678 1. Les classes de composants 679 2. Les méthodes 680 F - Les événements et les écouteurs 688 1. Les événements de bas niveau 689 2. Les événements sémantiques 690 3. Les méthodes des événements 691 G - Les collections 694 1. Les interfaces 695 2. Les classes implémentant List 697 3. Les classes implémentant Set 699 4. Les classes implémentant Map 699 5. Les algorithmes de la classe Collections 700 Index 702 Destiné aux développeurs et aux étudiants de niveau universitaire qui veulent maîtriser la programmation en Java. Les onze premiers chapitres sont consacrés aux fondements du langage et aux aspects fondamentaux de la programmation orientée objet. Ils couvrent tous les aspects du langage. Les huit suivants portent sur la programmation d'interfaces graphiques. Les deux derniers traitent du paquetage relatif aux entrées-sorties unifiées à travers la notion de flux et sur les principales structures de données. Didactique, l'ouvrage expose les notions de façon progressive et les illustre par des programmes complets accompagnés d'un exemple d'exécution
کتابهای مشابه
Programmer en Java : Couvre Java 10 à Java 14 - 11e édition
۴۹٬۰۰۰ تومان
Programmer pour les Nuls, 3e édition
۴۹٬۰۰۰ تومان

Programmer en Java
۴۹٬۰۰۰ تومان
Programmer en Java
۴۹٬۰۰۰ تومان
Java 1.4 et 5.0 (1Cédérom) - 3e édition
۴۹٬۰۰۰ تومان
Programmer pour les Nuls, 3e édition (French Edition)
۴۹٬۰۰۰ تومان
Exercices en Java 2e édition
۴۹٬۰۰۰ تومان
Hawaii 3e édition
۴۹٬۰۰۰ تومان
Algorithmique et programmation en Java - 3ème édition - Cours et exercices corrigés
۴۹٬۰۰۰ تومان
Hydrodynamique physique : 3e édition
۴۹٬۰۰۰ تومان
Traité d’économie - 3e édition
۴۹٬۰۰۰ تومان
Programmer en Java, 5th ED.
۴۹٬۰۰۰ تومان
قیمت نهایی
۴۹٬۰۰۰ تومان
