Apprenez à programmer en Java Par cysboy Ce PDF vous est offert par http://care

Apprenez à programmer en Java Par cysboy Ce PDF vous est offert par http://careers.accenture.com/fr-fr www.siteduzero.com Licence Creative Commons 6 2.0 Dernière mise à jour le 29/11/2012 Sommaire 2 Sommaire ........................................................................................................................................... 4 Partager .............................................................................................................................................. 6 Apprenez à programmer en Java ....................................................................................................... 7 Partie 1 : Bien commencer en Java .................................................................................................... 8 Installer les outils de développement ................................................................................................................................ 8 Installer les outils nécessaires .................................................................................................................................................................................... 8 JRE ou JDK ................................................................................................................................................................................................................. 9 Eclipse IDE .................................................................................................................................................................................................................. 10 Présentation rapide de l'interface .............................................................................................................................................................................. 15 Votre premier programme ......................................................................................................................................................................................... 17 Hello World ................................................................................................................................................................................................................ 19 Compilation en ligne de commande (Windows) ........................................................................................................................................................ 22 En résumé ................................................................................................................................................................................................................. 23 Les variables et les opérateurs ....................................................................................................................................... 23 Petit rappel ................................................................................................................................................................................................................ 24 Les différents types de variables ............................................................................................................................................................................... 28 Les opérateurs arithmétiques .................................................................................................................................................................................... 31 Les conversions, ou « cast » ..................................................................................................................................................................................... 33 Depuis Java 7 : le formatage des nombres ............................................................................................................................................................... 35 Lire les entrées clavier .................................................................................................................................................... 35 La classe Scanner ..................................................................................................................................................................................................... 36 Récupérer ce que vous tapez ................................................................................................................................................................................... 38 En résumé ................................................................................................................................................................................................................. 38 Les conditions ................................................................................................................................................................. 39 La structure if… else ................................................................................................................................................................................................. 41 Les conditions multiples ............................................................................................................................................................................................ 42 La structure switch .................................................................................................................................................................................................... 43 La condition ternaire .................................................................................................................................................................................................. 44 Les boucles ..................................................................................................................................................................... 45 La boucle while .......................................................................................................................................................................................................... 48 La boucle do… while ................................................................................................................................................................................................. 49 La boucle for .............................................................................................................................................................................................................. 52 TP : conversion Celsius - Fahrenheit .............................................................................................................................. 52 Élaboration ................................................................................................................................................................................................................ 53 Correction .................................................................................................................................................................................................................. 56 Les tableaux .................................................................................................................................................................... 56 Tableau à une dimension .......................................................................................................................................................................................... 56 Les tableaux multidimensionnels .............................................................................................................................................................................. 57 Utiliser et rechercher dans un tableau ...................................................................................................................................................................... 62 Les méthodes de classe ................................................................................................................................................. 63 Quelques méthodes utiles ......................................................................................................................................................................................... 63 Des méthodes concernant les chaînes de caractères .............................................................................................................................................. 65 Créer sa propre méthode .......................................................................................................................................................................................... 68 La surcharge de méthode ......................................................................................................................................................................................... 69 En résumé ................................................................................................................................................................................................................. 69 Partie 2 : Java Orienté Objet ............................................................................................................. 70 Votre première classe ..................................................................................................................................................... 70 Structure de base ...................................................................................................................................................................................................... 71 Les constructeurs ...................................................................................................................................................................................................... 75 Accesseurs et mutateurs ........................................................................................................................................................................................... 81 Les variables de classes ........................................................................................................................................................................................... 82 Le principe d'encapsulation ....................................................................................................................................................................................... 83 L'héritage ......................................................................................................................................................................... 84 Le principe de l'héritage ............................................................................................................................................................................................ 88 Le polymorphisme ..................................................................................................................................................................................................... 93 Depuis Java 7 : la classe Objects ............................................................................................................................................................................. 95 Modéliser ses objets grâce à UML .................................................................................................................................. 95 Présentation d'UML ................................................................................................................................................................................................... 96 Modéliser ses objets .................................................................................................................................................................................................. 97 Modéliser les liens entre les objets ........................................................................................................................................................................... 101 Les packages ................................................................................................................................................................ 101 Création d'un package ............................................................................................................................................................................................ 101 Droits d'accès entre les packages ........................................................................................................................................................................... 104 Les classes abstraites et les interfaces ........................................................................................................................ 104 Les classes abstraites ............................................................................................................................................................................................. 105 Une classe Animal très abstraite ............................................................................................................................................................................. 107 Étoffons notre exemple ........................................................................................................................................................................................... 111 Les interfaces .......................................................................................................................................................................................................... 112 Votre première interface .......................................................................................................................................................................................... 114 Implémentation de l'interface Rintintin ..................................................................................................................................................................... 115 Le pattern strategy ................................................................................................................................................................................................... 116 Posons le problème ................................................................................................................................................................................................. 2/535 Ce PDF vous est offert par Accenture http://careers.accenture.com/f r-f r www.siteduzero.com 117 Le code source de ces classes ............................................................................................................................................................................... 122 Un problème supplémentaire .................................................................................................................................................................................. 126 Une solution simple et robuste : le « pattern strategy » .......................................................................................................................................... 134 Les exceptions .............................................................................................................................................................. 134 Le bloc try{...} catch{...} ........................................................................................................................................................................................... 136 Les exceptions personnalisées ............................................................................................................................................................................... 139 La gestion de plusieurs exceptions ......................................................................................................................................................................... 140 Depuis Java 7 : le multi-catch ................................................................................................................................................................................. 141 Les énumérations .......................................................................................................................................................... 142 Avant les énumérations ........................................................................................................................................................................................... 142 Une solution : les enum ........................................................................................................................................................................................... 145 Les collections d'objets ................................................................................................................................................. 146 Les différents types de collections .......................................................................................................................................................................... 146 Les objets List ......................................................................................................................................................................................................... 146 L'objet LinkedList ..................................................................................................................................................................................................... 148 L'objet ArrayList ....................................................................................................................................................................................................... 149 Les objets Map ........................................................................................................................................................................................................ 149 L'objet Hashtable ..................................................................................................................................................................................................... 150 L'objet HashMap ..................................................................................................................................................................................................... 150 Les objets Set ......................................................................................................................................................................................................... 150 L'objet HashSet ....................................................................................................................................................................................................... 151 La généricité en Java .................................................................................................................................................... 152 Principe de base ..................................................................................................................................................................................................... 155 Plus loin dans la généricité ! ................................................................................................................................................................................... 156 Généricité et collections .......................................................................................................................................................................................... 157 Héritage et généricité .............................................................................................................................................................................................. 161 Les flux d'entrée/sortie .................................................................................................................................................. 162 Utilisation de java.io ................................................................................................................................................................................................ 162 L'objet File ............................................................................................................................................................................................................... 163 Les objets FileInputStream et FileOutputStream .................................................................................................................................................... 167 Les objets FilterInputStream et FilterOutputStream ................................................................................................................................................ 171 Les objets ObjectInputStream et ObjectOutputStream ........................................................................................................................................... 175 Les objets CharArray(Writer/Reader) et String(Writer/Reader) ............................................................................................................................... 177 Les classes File(Writer/Reader) et Print(Writer/Reader) ......................................................................................................................................... 177 Utilisation de java.nio .............................................................................................................................................................................................. 181 Depuis Java 7 : nio II ............................................................................................................................................................................................... 184 Le pattern decorator ................................................................................................................................................................................................ 188 Java et la réflexivité ....................................................................................................................................................... 189 L'objet Class ............................................................................................................................................................................................................ 193 Instanciation dynamique ......................................................................................................................................................................................... 196 Partie 3 : Java et la programmation événementielle ....................................................................... 197 Notre première fenêtre .................................................................................................................................................. 197 L'objet JFrame ......................................................................................................................................................................................................... 201 L'objet JPanel .......................................................................................................................................................................................................... 202 Les objets Graphics et Graphics2D ........................................................................................................................................................................ 202 L'objet Graphics ...................................................................................................................................................................................................... 210 L'objet Graphics2D .................................................................................................................................................................................................. 213 Le fil rouge : une animation ........................................................................................................................................... 214 Création de l'animation ............................................................................................................................................................................................ 217 Améliorations .......................................................................................................................................................................................................... 223 Positionner des boutons ................................................................................................................................................ 223 Utiliser la classe JButton ......................................................................................................................................................................................... 224 Positionner son composant : les layout managers .................................................................................................................................................. 238 Interagir avec des boutons ............................................................................................................................................ 238 Une classe Bouton personnalisée ........................................................................................................................................................................... 240 Interactions avec la souris : l'interface MouseListener ............................................................................................................................................ 245 Interagir avec son bouton ........................................................................................................................................................................................ 245 Déclencher une action : l'interface ActionListener ................................................................................................................................................... 251 Parler avec sa classe intérieure .............................................................................................................................................................................. 255 Les classes anonymes ............................................................................................................................................................................................ 257 Contrôler son animation : lancement et arrêt .......................................................................................................................................................... 261 Être à l'écoute de ses objets : le design pattern Observer ...................................................................................................................................... 261 Posons le problème ................................................................................................................................................................................................ 263 Des objets qui parlent et qui écoutent : le pattern observer .................................................................................................................................... 267 Le pattern observer : le retour ................................................................................................................................................................................. 268 Cadeau : un bouton personnalisé optimisé ............................................................................................................................................................. 270 TP : une calculatrice ...................................................................................................................................................... 271 Élaboration .............................................................................................................................................................................................................. 271 Conception .............................................................................................................................................................................................................. 272 Correction ................................................................................................................................................................................................................ 275 Générer un .jar exécutable ...................................................................................................................................................................................... 280 Exécuter des tâches simultanément ............................................................................................................................. 281 Une classe héritée de Thread ................................................................................................................................................................................. 285 Utiliser l'interface Runnable ..................................................................................................................................................................................... 289 Synchroniser ses threads ........................................................................................................................................................................................ 289 Contrôler son animation .......................................................................................................................................................................................... 290 Depuis Java 7 : le pattern Fork/Join ........................................................................................................................................................................ 300 Les champs de formulaire ............................................................................................................................................. 300 Les listes : l'objet JComboBox ................................................................................................................................................................................ 300 Première utilisation .................................................................................................................................................................................................. Sommaire 3/535 Ce PDF vous est offert par Accenture http://careers.accenture.com/f r-f r www.siteduzero.com 301 L'interface ItemListener ........................................................................................................................................................................................... 303 Changer la forme de notre animation ...................................................................................................................................................................... 308 Les cases à cocher : l'objet JCheckBox .................................................................................................................................................................. 308 Première utilisation .................................................................................................................................................................................................. 309 Un pseudomorphing pour notre animation .............................................................................................................................................................. 314 Le petit cousin : l'objet JRadioButton ...................................................................................................................................................................... 316 Les champs de texte : l'objet JTextField .................................................................................................................................................................. 316 Première utilisation .................................................................................................................................................................................................. 317 Un objet plus restrictif : le JFormattedTextField ...................................................................................................................................................... 320 Contrôle du clavier : l'interface KeyListener ............................................................................................................................................................ 323 Les menus et boîtes de dialogue .................................................................................................................................. 324 Les boîtes de dialogue ............................................................................................................................................................................................ 326 Les boîtes de confirmation ...................................................................................................................................................................................... 328 Les boîtes de saisie ................................................................................................................................................................................................ 331 Des boîtes de dialogue personnalisées .................................................................................................................................................................. 337 Les menus ............................................................................................................................................................................................................... 337 Faire son premier menu .......................................................................................................................................................................................... 345 Les raccourcis clavier .............................................................................................................................................................................................. 348 Faire un menu contextuel ........................................................................................................................................................................................ 355 Les barres d'outils ................................................................................................................................................................................................... 359 Utiliser les actions abstraites ................................................................................................................................................................................... 360 TP : l'ardoise magique ................................................................................................................................................... 361 Cahier des charges ................................................................................................................................................................................................. 362 Prérequis ................................................................................................................................................................................................................. 362 Correction ................................................................................................................................................................................................................ 367 Améliorations possibles .......................................................................................................................................................................................... 367 Conteneurs, sliders et barres de progression ............................................................................................................... 368 Autres conteneurs ................................................................................................................................................................................................... 368 L'objet JSplitPane .................................................................................................................................................................................................... 371 L'objet JScrollPane .................................................................................................................................................................................................. 373 L'objet JTabbedPane ............................................................................................................................................................................................... 377 L'objet JDesktopPane combiné à des JInternalFrame ............................................................................................................................................ 378 L'objet JWindow ...................................................................................................................................................................................................... 379 Le JEditorPane ........................................................................................................................................................................................................ 380 Le JSlider ................................................................................................................................................................................................................ 381 La JProgressBar ...................................................................................................................................................................................................... 382 Enjoliver vos IHM .................................................................................................................................................................................................... 384 Les arbres et leur structure ........................................................................................................................................... 385 La composition des arbres ...................................................................................................................................................................................... 389 Des arbres qui vous parlent .................................................................................................................................................................................... 392 Décorez vos arbres ................................................................................................................................................................................................. 397 Modifier le contenu de nos arbres ........................................................................................................................................................................... 403 Les interfaces de tableaux ............................................................................................................................................ 404 Premiers pas ........................................................................................................................................................................................................... 405 Gestion de l'affichage .............................................................................................................................................................................................. 405 Les cellules ............................................................................................................................................................................................................. 411 Contrôlez l'affichage ................................................................................................................................................................................................ 415 Interaction avec l'objet JTable ................................................................................................................................................................................. 421 Ajouter des lignes et des colonnes ......................................................................................................................................................................... 423 TP : le pendu ................................................................................................................................................................. 424 Cahier des charges ................................................................................................................................................................................................. 425 Prérequis ................................................................................................................................................................................................................. 426 Correction ................................................................................................................................................................................................................ 427 Mieux structurer son code : le pattern MVC .................................................................................................................. 428 Premiers pas ........................................................................................................................................................................................................... 429 Le modèle ............................................................................................................................................................................................................... 432 Le contrôleur ........................................................................................................................................................................................................... 434 La vue ...................................................................................................................................................................................................................... 438 Le Drag'n Drop .............................................................................................................................................................. 438 Présentation ............................................................................................................................................................................................................ 441 Fonctionnement ...................................................................................................................................................................................................... 444 Créer son propre TransferHandler .......................................................................................................................................................................... 448 Activer le drop sur un JTree .................................................................................................................................................................................... 453 Effet de déplacement .............................................................................................................................................................................................. 458 Mieux gérer les interactions avec les composants ....................................................................................................... 458 Présentation des protagonistes ............................................................................................................................................................................... 459 Utiliser l'EDT ............................................................................................................................................................................................................ 461 La classe SwingWorker<T, V> ................................................................................................................................................................................ 466 Partie 4 : Interactions avec les bases de données .......................................................................... 466 JDBC : la porte d'accès aux bases de données ........................................................................................................... 466 Rappels sur les bases de données ......................................................................................................................................................................... 467 Quelle base de données utiliser .............................................................................................................................................................................. 467 Installation de PostgreSQL ...................................................................................................................................................................................... 470 Préparer la base de données .................................................................................................................................................................................. 471 Créer la base de données ....................................................................................................................................................................................... 473 Créer les tables ....................................................................................................................................................................................................... 478 Se connecter à la base de données ........................................................................................................................................................................ 480 Connexion ............................................................................................................................................................................................................... 483 Fouiller dans sa base de données ................................................................................................................................ 483 Le couple Statement - ResultSet ............................................................................................................................................................................ Sommaire 4/535 Ce PDF vous est offert par Accenture http://careers.accenture.com/f r-f r www.siteduzero.com 486 Entraînons-nous ...................................................................................................................................................................................................... 490 Statement ................................................................................................................................................................................................................ 491 Les requêtes préparées .......................................................................................................................................................................................... 493 ResultSet : le retour ................................................................................................................................................................................................. 496 Modifier des données .............................................................................................................................................................................................. 497 Statement, toujours plus fort ................................................................................................................................................................................... 499 Gérer les transactions manuellement ..................................................................................................................................................................... 502 Limiter le nombre de connexions .................................................................................................................................. 502 Pourquoi ne se connecter qu'une seule fois ? ........................................................................................................................................................ 502 Le pattern singleton ................................................................................................................................................................................................. 504 Le singleton dans tous ses états ............................................................................................................................................................................. 506 TP : un testeur de requêtes ........................................................................................................................................... 507 Cahier des charges ................................................................................................................................................................................................. 507 Quelques captures d'écran ..................................................................................................................................................................................... 508 Correction ................................................................................................................................................................................................................ 512 Lier uploads/s3/ apprenez-a-programmer-en-java-pdf 1 .pdf

  • 642
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager