[PDF] Apprenez à programmer en Java - 3e édition



Previous PDF Next PDF







Apprenez à programmer en Java Cyrille Herby

Apprenez à programmer en Java Cyrille Herby Apprenez à programmer en Java de Cyrille Herby aborde le langage de programmation incontournable des professionnels Grâce à 40 chapitres de difficulté progressive et 5 travaux pratiques, le lecteur découvre la programmation en Java, du B A BA aux notions avancées



Apprenez à programmer en Java - 3e édition

Cyrille Herby APPRENEZ À PROGRAMMER EN JAVA 3e édition G67521_ApprenezAProgrammerEnJava_EXE_PDT indd 3 11/10/2018 12:36



Apprenez à programmer en Java 2 Edition - OpenClassrooms

Ce livre du Zéro forme le lecteur à Java, le langage de programmation incontournable des professionnels Il l’aide à choisir son langage, à installer Eclipse, modéliser un programme en UML et construire rapidement ses premières fenêtres avec swing et AWT Grâce aux travaux



Catalogue de cours - staticoc-staticcom

Java et le XML 10h moyenne Java et les collections 6h moyenne Développez des sites web avec Java EE 20h difficile X Apprenez à programmer en Java 40h difficile X Java et le multithreading 6h difficile Java et les annotations 6h difficile Implémentez une architecture orientée services (SOA) en Java 20h moyenne Développement Java



Ing Drd Iulia-Cristina Stănică

M I Dascalu, G Dragoi, D A Mitrea, I Stanica, I Marin, Apprenez à programmer en Java – guide de travaux pratiques (în curs de publicare la Editura UPB) E2 C A Boiangiu, I Stanica, The Mosaics Model Of Educational Approaches For Teaching The Practice Of Software Project Management, seminar Transmisia Datelor Multimedia prin



Apprenez à concevoir avant de programmer

Apprenez à concevoir avant de programmer Que faut-il maîtriser pour devenir un professionnel du développement informatique? Avec ce livre, l’auteur répond aux futurs développeurs ou développeurs débutants, et leur donne les bases solides à acquérir pour leur permettre de travailler et surtout d’évoluer dans leur métier Il détaille



Manuel de PHP - Dunod

Apprenez à programmer et à développer vos sites web Manuel de PHP Jean-Michel Léry Professeur en Master d’informatique à l’université Denis Diderot (Paris 7), La Sorbonne (Paris 1), Pierre et Marie Curie (Paris 6) et de Marne-La-Vallée



Siteduzero python pdf - WordPresscom

Implémentation permettant de mixer Python et java dans la Retrouvez Apprenez à Programmer en Python 2e édition et des millions de tuto python site du zero Conquit par version pdf de ce livre, jai décidé de lacheter en version ebook www siteduzero com La place du libre dans une start-up

[PDF] Apprenez ? programmer en Java #8211 2 Edition - Kalima RP

[PDF] Apprenez ? programmer en Java - OpenClassrooms

[PDF] Apprenez ? programmer en Java

[PDF] Apprenez ? programmer en Java - OpenClassrooms

[PDF] Apprendre ? programmer avec Python 3 - Inforef

[PDF] Apprenez ? programmer en Python - OpenClassrooms

[PDF] Apprenez ? programmer en VB NET - Free

[PDF] Apprendre ? vivre ensemble - unesdoc - Unesco

[PDF] Le guide de l 'apprentissage - Canton de Vaud

[PDF] Fondements de l 'Apprentissage Automatique Classification - LIFL

[PDF] Apprentissage Automatique Définition ? (Wikipedia)

[PDF] Exercice 1 Exercice 2

[PDF] Intelligence artificielle avec apprentissage automatique pour l

[PDF] Intelligence artificielle avec apprentissage automatique pour l

[PDF] Apprentissage artificiel

Cyrille Herby

Qu'allez-vous apprendre?

Bien commencer en Java

•Installer les outils de développement •Les variables et les opérateurs •Lire les entrées clavier •Les conditions •Les boucles

Java orienté objet

•Votre première classe •L'héritage •Les classes abstraites et les interfaces •Java 8 ou la révolution des interfaces •Les exceptions •Les collections d'objets •La généricité en Java •Les flux d'entrées sorties •Java et la réflexivité •Classes anonymes, interfaces fonctionnelles, lambdas et références de méthode •Manipuler vos données avec les streams •La nouvelle API de gestion des dates de Java 8 •Une JVM modulaire avec Java 9

Java et la programmation événementielle

•Votre première fenêtre •Positionner des boutons •Interagir avec des boutons •Les champs de formulaire •Les menus et boîtes de dialogue •Conteneurs, sliders et barres de progression •Les arbres et leur structure •Les interfaces de tableaux •Mieux structurer son code : le pattern MVC •Le drag'n drop •Mieux gérer les interactions avec les composants

Initiation à Java FX

•Introduction et installation des outils •Lier un modèle à votre vue •Interagir avec vos composants •Java FX a du style !

Interaction avec les bases de données

•JDBC : la porte d'accès aux bases de données •Fouiller dans sa base de données •Limiter le nombre de connexions

À propos de l'auteur

Auditeur en sécurité, Cyrille Herby travaille sur des pro- jets J ava depuis plusieurs années. Il a notamment été administrateur système et réseau, puis responsable de la sécurité des systèmes d'information au sein du groupe Cordon Electronics. Il a débuté dans la programmation en découvrant OpenClassrooms il y a plusieurs années déjà. Désormais, il y rédige à son tour des cours pour montrer qu'il est possible de s'initier à la programmation et ses concepts sans avoir un dictionnaire à la main... et surtout, sans migraine !

L'esprit d'OpenClassrooms

Des cours ouverts, riches et vivants, conçus pour tous les niveaux et accessibles à tous gratuitement sur notre plate-forme d'e-éducation : www.openclassrooms.com. Vous y vivrez une véritable expérience communautaire de l'apprentissage, permettant à chacun d'apprendre avec le soutien et l'aide des autres étudiants sur les forums. Vous profiterez des cours disponibles partout, tout le temps.

Code éditeur : G67521

ISBN : 978-2-212-67521-4

Couverture : Studio Eyrolles © Éditions Eyrolles 38
G67521_ApprenezAProgrammerEnJava_EXE_OK.indd 109/10/2018 15:58

Cyrille Herby

APPRENEZ À PROGRAMMER EN

3 e

édition

Qu'allez-vous apprendre?

Bien commencer en Java

•Installer les outils de développement •Les variables et les opérateurs •Lire les entrées clavier •Les conditions •Les boucles

Java orienté objet

•Votre première classe •L'héritage •Les classes abstraites et les interfaces •Java 8 ou la révolution des interfaces •Les exceptions •Les collections d'objets •La généricité en Java •Les flux d'entrées sorties •Java et la réflexivité •Classes anonymes, interfaces fonctionnelles, lambdas et références de méthode •Manipuler vos données avec les streams •La nouvelle API de gestion des dates de Java 8 •Une JVM modulaire avec Java 9

Java et la programmation événementielle

•Votre première fenêtre •Positionner des boutons •Interagir avec des boutons •Les champs de formulaire •Les menus et boîtes de dialogue •Conteneurs, sliders et barres de progression •Les arbres et leur structure •Les interfaces de tableaux •Mieux structurer son code : le pattern MVC •Le drag'n drop •Mieux gérer les interactions avec les composants

Initiation à Java FX

•Introduction et installation des outils •Lier un modèle à votre vue •Interagir avec vos composants •Java FX a du style !

Interaction avec les bases de données

•JDBC : la porte d'accès aux bases de données •Fouiller dans sa base de données •Limiter le nombre de connexions

À propos de l'auteur

Auditeur en sécurité, Cyrille Herby travaille sur des pro- jets Java depuis plusieurs années. Il a notamment été administrateur système et réseau, puis responsable de la sécurité des systèmes d'information au sein du groupe Cordon Electronics. Il a débuté dans la programmation en découvrant OpenClassrooms il y a plusieurs années déjà. Désormais, il y rédige à son tour des cours pour montrer qu'il est possible de s'initier à la programmation et ses concepts sans avoir un dictionnaire à la main... et surtout, sans migraine !

L'esprit d'OpenClassrooms

Des cours ouverts, riches et vivants, conçus pour tous les niveaux et accessibles à tous gratuitement sur notre plate-forme d'e-éducation : www.openclassrooms.com. Vous y vivrez une véritable expérience communautaire de l'apprentissage, permettant à chacun d'apprendre avec le soutien et l'aide des autres étudiants sur les forums. Vous profiterez des cours disponibles partout, tout le temps.

APPRENEZ À PROGRAMMER EN

G67521_ApprenezAProgrammerEnJava_EXE_OK.indd 109/10/2018 15:58 G67521_ApprenezAProgrammerEnJava_EXE_PDT.indd 111/10/2018 12:36 herby-MEP.indd 210/10/2018 18:21

APPRENEZ À PROGRAMMER EN

G67521_ApprenezAProgrammerEnJava_EXE_PDT.indd 311/10/2018 12:36 herby-MEP.indd 410/10/2018 18:21 herby-MEP.indd 510/10/2018 18:21 herby-MEP.indd 610/10/2018 18:21 la machine virtuelle

Structure de l'ouvrage

1.Les bases de Java -

2.Java et la Programmation orientée objet -

3.Les interfaces graphiques -

4.Interactions avec les bases de données -

Comment lire ce livre ?

Suivez l"ordre des chapitres

herby-MEP.indd 710/10/2018 18:21

Remerciements

herby-MEP.indd 810/10/2018 18:21 Installer les outils nécessaires ...................................... 3 JRE ou JDK ................................................... 3 Eclipse IDE ................................................... 5 Votre premier programme ........................................ 10 Hello World .................................................. 13 En résumé .................................................... 15 Petit rappel .................................................... 17 Les différents types de variables .................................... 20 Les variables de type numérique .................................... 20 Des variables stockant un caractère .................................. 21 Des variables de type booléen ...................................... 21 Le type String ................................................. 22 Les opérateurs arithmétiques ...................................... 24 Les conversions ou "cast» ....................................... 26 Depuis Java7: le formatage des nombres ............................ 29 En résumé .................................................... 30 herby-MEP.indd 910/10/2018 18:21 La classe Scanner ............................................... 31 Récupérer ce que vous tapez ...................................... 32 En résumé .................................................... 35

La structure if... else. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Les conditions multiples .......................................... 40 La structure switch .............................................. 41 La condition ternaire ............................................ 42 En résumé .................................................... 43 La boucle while ................................................ 45 La boucle do... while ............................................ 49 La boucle for .................................................. 50 En résumé .................................................... 52 Élaboration .................................................... 53 Correction .................................................... 55 Explications concernant ce code .................................... 57 Tableau à une dimension ......................................... 59 Tableaux multidimensionnels ...................................... 60 Utiliser et rechercher dans un tableau ............................... 61 Explications sur la recherche ....................................... 63 En résumé .................................................... 66 Quelques méthodes utiles ........................................ 67 Des méthodes concernant les chaînes de caractères ....................... 67 Créer sa propre méthode ......................................... 70 La surcharge de méthode ......................................... 73 En résumé .................................................... 75 herby-MEP.indd 1010/10/2018 18:21

Deuxième partie - Java orienté objet 77

9 Votre premièreclasse 79

Structure de base ............................................... 79 Les constructeurs ............................................... 81 Accesseurs et mutateurs .......................................... 86 Les variables de classe ........................................... 92 Le principe d"encapsulation ....................................... 94 En résumé .................................................... 94

10 L"héritage 97

Le principe de l'héritage .......................................... 97 Le polymorphisme .............................................. 102 Depuis Java7: la classe Object .................................... 108 En résumé .................................................... 109

11 Modéliser sesobjets grâceà UML 111

Présentation d'UML ............................................. 111 Modéliser ses objets ............................................. 113 Modéliser les liens entre les objets .................................. 113 En résumé .................................................... 117

12 Les packages 119

Création d'un package ........................................... 119 Droits d"accès entre les packages ................................... 121 En résumé .................................................... 122

13 Les classes abstraites etlesinterfaces 123

Les classes abstraites ............................................ 123 Une classe Animal très abstraite .................................... 125 Étoffons notre exemple .......................................... 127 Les interfaces .................................................. 132

Votre première interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

Le pattern strategy .............................................. 137 Posons le problème ............................................. 137 Un problème supplémentaire ...................................... 144 En résumé .................................................... 156 herby-MEP.indd 1110/10/2018 18:21 Des méthodes statiques .......................................... 159 Et des méthodes par défaut! ...................................... 160 En résumé .................................................... 162 Le bloc try{...} catch{...} .......................................... 163 Les exceptions personnalisées ...................................... 166 La gestion de plusieurs exceptions .................................. 170 Depuis Java7: le multi-catch ...................................... 172 Avant les énumérations .......................................... 175 Une solution: les enum .......................................... 176 En résumé .................................................... 180 Les différents types de collections ................................... 181 Les objets List .................................................. 182 L'objet LinkedList ............................................... 182 L'objet ArrayList ............................................... 184 Les objets Map ................................................. 186 L'objet Hashtable ............................................... 186 L'objet HashMap ............................................... 187 Les objets Set .................................................. 187 L'objet HashSet ................................................ 187 En résumé .................................................... 188 Principe de base ................................................ 189 Plus loin dans la généricité ........................................ 193 Généricité et collections .......................................... 195 Héritage et généricité ............................................ 196 En résumé .................................................... 201 herby-MEP.indd 1210/10/2018 18:21

19 Les flux d"entrées-sorties 203

Utilisation de java.io ............................................. 203 L"objet File ................................................... 203 Les objets FileInputStream et FileOutputStream .......................... 205 Les objets FilterInputStream et FilterOutputStream ........................ 209 Les objets ObjectInputStream et ObjectOutputStream ..................... 214 Les objets CharArray(Writer/Reader) et String(Writer/Reader) ................. 219 Les classes File(Writer/Reader) et Print(Writer/Reader) ...................... 221 Utilisation de java.nio ............................................ 222 Depuis Java7: NIO.2 ............................................ 226 La copie de fichier .............................................. 228 Le déplacement de fichier ........................................ 228 L"ouverture des flux ............................................. 229 Le pattern decorator ............................................. 230 En résumé .................................................... 234

20 Java etlaréflexivité 237

L'objet Class ................................................... 237 Connaître la superclasse d"une classe ................................. 238 Connaître la liste des interfaces d"une classe ............................ 238 Connaître la liste des méthodes de la classe ............................ 239 Connaître la liste des champs (variable de classe ou d"instance) ............... 240 Connaître la liste des constructeurs de la classe .......................... 241 Instanciation dynamique .......................................... 241 En résumé .................................................... 245

21 Classes anonymes, interfaces fonctionnelles,

lambdas et références de méthode 247 Les classes anonymes ............................................ 247 Les interfaces fonctionnelles ....................................... 249 Encore moins de code avec les lambdas! ............................ 250 Le package java.util.function ...................................... 253 java.util.function.Function ..................................... 254 java.util.function.Consumer ..................................... 255 java.util.function.Predicate ..................................... 256 java.util.function.Supplier ...................................... 256 Les références de méthodes ....................................... 257 En résumé .................................................... 258 herby-MEP.indd 1310/10/2018 18:21 Avant de commencer ............................................ 259 Utiliser les streams .............................................. 261 Parcourir .................................................... 261 Opérations intermédiaires sur les streams .............................. 262 Opérations terminales sur les streams ................................ 264 Utiliser les streams avec NIO2 ..................................... 267 En résumé .................................................... 267 Introduction à cette API .......................................... 269 Gestion du temps machine ........................................ 269 Gestion du temps humain ........................................ 270 Duration et Period .............................................. 271 TemporalAdjusters .............................................. 272 Les objets ZoneId et ZoneDateTime ................................. 273 En résumé .................................................... 275 Quelques faits sur la JVM ......................................... 277 Inspectons des modules existants... ................................. 281 Création de votre premier module .................................. 283 En résumé .................................................... 286 L"objet JFrame .................................................. 289 Positionner la fenêtre à l'écran ..................................... 292 Empêcher le redimensionnement de la fenêtre .......................... 293 Garder la fenêtre au premier plan ................................... 293 Retirer les contours et les boutons de contrôle .......................... 293 L"objet JPanel .................................................. 295 Les objets Graphics et Graphics2D .................................. 296 L'objet Graphics ............................................... 296 La méthode drawOval() .......................................... 299 La méthode drawRect() .......................................... 300 La méthode drawRoundRect() ...................................... 301 herby-MEP.indd 1410/10/2018 18:21 La méthode drawLine() .......................................... 301 La méthode drawPolygon() ........................................ 302 La méthode drawString() ......................................... 303 La méthode drawImage() ......................................... 304 L"objet Graphics2D ............................................. 306 En résumé .................................................... 309

26 Le fil rouge: une animation 311

Création de l'animation .......................................... 311 Améliorations .................................................. 315 En résumé .................................................... 321

27 Positionner desboutons 323

La classe JButton ............................................... 323 Positionner son composant: les layout managers ...................... 325 L"objet BorderLayout ............................................ 326 L"objet GridLayout .............................................. 327 L"objet BoxLayout .............................................. 329 L"objet CardLayout .............................................. 331 L"objet GridBagLayout ........................................... 333 L"objet FlowLayout .............................................. 337 En résumé .................................................... 340

28 Interagir avec des boutons 341

Une classe Bouton personnalisée ................................... 341 Interactions avec la souris: l"interface MouseListener ...................... 344 Interagir avec son bouton ......................................... 349 Déclencher une action: l"interface ActionListener ........................ 349 Parler avec sa classe intérieure ..................................... 357 Contrôler son animation: lancement et arrêt ........................... 362 Explication de ce phénomène ...................................... 365 Être à l"écoute de ses objets: le design pattern observer ................. 367 Posons le problème ............................................. 367 Des objets qui parlent et qui écoutent: le pattern observer ................. 370 Le pattern observer: le retour ..................................... 375 Cadeau: un bouton personnalisé optimisé ........................... 376 En résumé .................................................... 378 herby-MEP.indd 1510/10/2018 18:21 Élaboration .................................................... 379 Conception .................................................... 379 Correction .................................................... 380 Générer un fichier .jar exécutable ................................... 385 Une classe héritée de Thread ...................................... 391 Utiliser l"interface Runnable ....................................... 396 Synchroniser ses threads .......................................... 400 Contrôler son animation .......................................... 402 Depuis Java7: le pattern fork/join .................................. 403 En résumé .................................................... 413 Les listes: l"objet JComboBox ...................................... 415 Première utilisation ............................................. 415

L'interface ItemListener. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

Changer la forme de notre animation ................................ 420 Les cases à cocher: l"objet JCheckBox ............................... 425 Première utilisation ............................................. 425 Un pseudo effet de morphing pour notre animation ...................... 427 Le petit cousin : l'objet JRadioButton ................................. 433 Les champs de texte: l"objet JTextField .............................. 435 Première utilisation ............................................. 435 Un objet plus restrictif : le JFormattedTextField .......................... 436 Contrôle du clavier: l"interface KeyListener ........................... 440 En résumé .................................................... 445 Les boîtes de dialogue ........................................... 447 Les boîtes d'information .......................................... 447 Les boîtes de confirmation ........................................ 450 Les boîtes de saisie ............................................. 453 Des boîtes de dialogue personnalisées ................................ 456 Les menus .................................................... 464 Créer son premier menu ......................................... 464 Les raccourcis clavier ............................................ 472 Créer un menu contextuel ........................................ 476 herby-MEP.indd 1610/10/2018 18:21 Les barres d"outils ............................................... 484 Utiliser les actions abstraites ....................................... 489 En résumé .................................................... 491 33

TP: l"ardoise magique 493

Cahier des charges .............................................. 493 Prérequis ...................................................... 495 Correction .................................................... 495 Améliorations possibles .......................................... 501 34

Conteneurs, sliders et barres de progression 503

Les autres conteneurs ............................................ 503 L'objet JSplitPane ............................................... 503 L'objet JScrollPane .............................................. 507 L'objet JTabbedPane ............................................. 510 L'objet JDesktopPane combiné à des JInternalFrame ....................... 515 L'objet JWindow ............................................... 516 Le JEditorPane ................................................ 517 Le JSlider .................................................... 518 La JProgressBar ................................................ 519 Enjoliver vos IHM ............................................... 521 En résumé .................................................... 522 35

Les arbres etleur structure 525

Des arbres qui vous parlent ....................................... 530 Décorer vos arbres .............................................. 534 Modifier le contenu de vos arbres .................................. 539 En résumé .................................................... 546 36

Les interfaces de tableaux 547

Premiers pas ................................................... 547

Gestion de l"affichage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549

Les cellules ................................................... 549 Contrôler l'affichage ............................................ 556 Interaction avec l"objet JTable ...................................... 561 Ajouter des lignes et des colonnes .................................. 567 En résumé .................................................... 569 herby-MEP.indd 1710/10/2018 18:21 Cahier des charges .............................................. 571 Prérequis ...................................................... 573 Correction .................................................... 573 Premiers pas ................................................... 577 La vue ...................................................... 577 Le modèle ................................................... 578 Le contrôleur ................................................. 578 Le modèle .................................................... 579 Le contrôleur .................................................. 583 La vue ....................................................... 585 En résumé .................................................... 589 Présentation ................................................... 591 Fonctionnement ................................................ 595 Créer son propre TransferHandler ................................... 599 Activer le drop sur un JTree ....................................... 605 Effet de déplacement ............................................ 610 En résumé .................................................... 616 Présentation des protagonistes ..................................... 617 Utiliser l"EDT ................................................... 619 La classe SwingWorker ...................................... 622 En résumé .................................................... 627 Qu"est-ce que Java FX? .......................................... 631 Installation .................................................... 632quotesdbs_dbs22.pdfusesText_28