Apprenez à programmer en Java

534
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 8/01/2013

description

Apprenez à programmer en Java en partant de zéro. Ce livre édité par un informaticien, que vous pouvez aussi trouvé sur la famaux site du zéro en france vous offre la possibilité de débuter sans difficulté dans la programmation.

Transcript of Apprenez à programmer en Java

Apprenez programmer en JavaPar cysboy

Ce PDF vous est offert par

http://careers.accenture.com/fr-fr

www.siteduzero.comLicence Creative Commons 6 2.0 Dernire mise jour le 8/01/2013

2/535

SommaireSommaire ........................................................................................................................................... Partager .............................................................................................................................................. Apprenez programmer en Java ....................................................................................................... Partie 1 : Bien commencer en Java .................................................................................................... 2 4 6 7

Installer les outils de dveloppement ................................................................................................................................ 8Installer les outils ncessaires .................................................................................................................................................................................... 8 JRE ou JDK ................................................................................................................................................................................................................. 8 Eclipse IDE .................................................................................................................................................................................................................. 9 Prsentation rapide de l'interface .............................................................................................................................................................................. 10 Votre premier programme ......................................................................................................................................................................................... 15 Hello World ................................................................................................................................................................................................................ 17 Compilation en ligne de commande (Windows) ........................................................................................................................................................ 19 En rsum ................................................................................................................................................................................................................. 22

Les variables et les oprateurs ....................................................................................................................................... 23Petit rappel ................................................................................................................................................................................................................ Les diffrents types de variables ............................................................................................................................................................................... Les oprateurs arithmtiques .................................................................................................................................................................................... Les conversions, ou cast ..................................................................................................................................................................................... Depuis Java 7 : le formatage des nombres ............................................................................................................................................................... 23 24 28 31 33

Lire les entres clavier .................................................................................................................................................... 35La classe Scanner ..................................................................................................................................................................................................... 35 Rcuprer ce que vous tapez ................................................................................................................................................................................... 36 En rsum ................................................................................................................................................................................................................. 38

Les conditions ................................................................................................................................................................. 38La structure if else ................................................................................................................................................................................................. Les conditions multiples ............................................................................................................................................................................................ La structure switch .................................................................................................................................................................................................... La condition ternaire .................................................................................................................................................................................................. 39 41 42 43

Les boucles ..................................................................................................................................................................... 44La boucle while .......................................................................................................................................................................................................... 45 La boucle do while ................................................................................................................................................................................................. 48 La boucle for .............................................................................................................................................................................................................. 49

TP : conversion Celsius - Fahrenheit .............................................................................................................................. 52laboration ................................................................................................................................................................................................................ 52 Correction .................................................................................................................................................................................................................. 53

Les tableaux .................................................................................................................................................................... 56Tableau une dimension .......................................................................................................................................................................................... 56 Les tableaux multidimensionnels .............................................................................................................................................................................. 56 Utiliser et rechercher dans un tableau ...................................................................................................................................................................... 57

Les mthodes de classe ................................................................................................................................................. 62Quelques mthodes utiles ......................................................................................................................................................................................... Des mthodes concernant les chanes de caractres .............................................................................................................................................. Crer sa propre mthode .......................................................................................................................................................................................... La surcharge de mthode ......................................................................................................................................................................................... En rsum ................................................................................................................................................................................................................. 63 63 65 68 69

Partie 2 : Java Orient Objet ............................................................................................................. 69Votre premire classe ..................................................................................................................................................... 70Structure de base ...................................................................................................................................................................................................... Les constructeurs ...................................................................................................................................................................................................... Accesseurs et mutateurs ........................................................................................................................................................................................... Les variables de classes ........................................................................................................................................................................................... Le principe d'encapsulation ....................................................................................................................................................................................... 70 71 75 81 82

L'hritage ......................................................................................................................................................................... 83Le principe de l'hritage ............................................................................................................................................................................................ 84 Le polymorphisme ..................................................................................................................................................................................................... 88 Depuis Java 7 : la classe Objects ............................................................................................................................................................................. 93

Modliser ses objets grce UML .................................................................................................................................. 95Prsentation d'UML ................................................................................................................................................................................................... 95 Modliser ses objets .................................................................................................................................................................................................. 96 Modliser les liens entre les objets ........................................................................................................................................................................... 97

Les packages ................................................................................................................................................................ 101Cration d'un package ............................................................................................................................................................................................ 101 Droits d'accs entre les packages ........................................................................................................................................................................... 101

Les classes abstraites et les interfaces ........................................................................................................................ 104Les classes abstraites ............................................................................................................................................................................................. 104 Une classe Animal trs abstraite ............................................................................................................................................................................. 105 toffons notre exemple ........................................................................................................................................................................................... 107 Les interfaces .......................................................................................................................................................................................................... 111 Votre premire interface .......................................................................................................................................................................................... 112 Implmentation de l'interface Rintintin ..................................................................................................................................................................... 114 Le pattern strategy ................................................................................................................................................................................................... 115 Posons le problme ................................................................................................................................................................................................. 116Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Sommaire

3/535

Le code source de ces classes ............................................................................................................................................................................... 117 Un problme supplmentaire .................................................................................................................................................................................. 122 Une solution simple et robuste : le pattern strategy .......................................................................................................................................... 126

Les exceptions .............................................................................................................................................................. 134Le bloc try{...} catch{...} ........................................................................................................................................................................................... Les exceptions personnalises ............................................................................................................................................................................... La gestion de plusieurs exceptions ......................................................................................................................................................................... Depuis Java 7 : le multi-catch ................................................................................................................................................................................. 134 136 139 140

Les numrations .......................................................................................................................................................... 141Avant les numrations ........................................................................................................................................................................................... 142 Une solution : les enum ........................................................................................................................................................................................... 142

Les collections d'objets ................................................................................................................................................. 145Les diffrents types de collections .......................................................................................................................................................................... Les objets List ......................................................................................................................................................................................................... L'objet LinkedList ..................................................................................................................................................................................................... L'objet ArrayList ....................................................................................................................................................................................................... Les objets Map ........................................................................................................................................................................................................ L'objet Hashtable ..................................................................................................................................................................................................... L'objet HashMap ..................................................................................................................................................................................................... Les objets Set ......................................................................................................................................................................................................... L'objet HashSet ....................................................................................................................................................................................................... Principe de base ..................................................................................................................................................................................................... Plus loin dans la gnricit ! ................................................................................................................................................................................... Gnricit et collections .......................................................................................................................................................................................... Hritage et gnricit .............................................................................................................................................................................................. Utilisation de java.io ................................................................................................................................................................................................ L'objet File ............................................................................................................................................................................................................... Les objets FileInputStream et FileOutputStream .................................................................................................................................................... Les objets FilterInputStream et FilterOutputStream ................................................................................................................................................ Les objets ObjectInputStream et ObjectOutputStream ........................................................................................................................................... Les objets CharArray(Writer/Reader) et String(Writer/Reader) ............................................................................................................................... Les classes File(Writer/Reader) et Print(Writer/Reader) ......................................................................................................................................... Utilisation de java.nio .............................................................................................................................................................................................. Depuis Java 7 : nio II ............................................................................................................................................................................................... Le pattern decorator ................................................................................................................................................................................................ 146 146 146 148 149 149 150 150 150 152 155 156 157 162 162 163 167 171 175 177 177 181 184

La gnricit en Java .................................................................................................................................................... 151

Les flux d'entre/sortie .................................................................................................................................................. 161

Java et la rflexivit ....................................................................................................................................................... 188L'objet Class ............................................................................................................................................................................................................ 189 Instanciation dynamique ......................................................................................................................................................................................... 193

Partie 3 : Java et la programmation vnementielle ....................................................................... 196Notre premire fentre .................................................................................................................................................. 197L'objet JFrame ......................................................................................................................................................................................................... L'objet JPanel .......................................................................................................................................................................................................... Les objets Graphics et Graphics2D ........................................................................................................................................................................ L'objet Graphics ...................................................................................................................................................................................................... L'objet Graphics2D .................................................................................................................................................................................................. 197 201 202 202 210

Le fil rouge : une animation ........................................................................................................................................... 213Cration de l'animation ............................................................................................................................................................................................ 214 Amliorations .......................................................................................................................................................................................................... 217

Positionner des boutons ................................................................................................................................................ 223Utiliser la classe JButton ......................................................................................................................................................................................... 223 Positionner son composant : les layout managers .................................................................................................................................................. 224

Interagir avec des boutons ............................................................................................................................................ 238Une classe Bouton personnalise ........................................................................................................................................................................... 238 Interactions avec la souris : l'interface MouseListener ............................................................................................................................................ 240 Interagir avec son bouton ........................................................................................................................................................................................ 245 Dclencher une action : l'interface ActionListener ................................................................................................................................................... 245 Parler avec sa classe intrieure .............................................................................................................................................................................. 251 Les classes anonymes ............................................................................................................................................................................................ 255 Contrler son animation : lancement et arrt .......................................................................................................................................................... 257 tre l'coute de ses objets : le design pattern Observer ...................................................................................................................................... 261 Posons le problme ................................................................................................................................................................................................ 261 Des objets qui parlent et qui coutent : le pattern observer .................................................................................................................................... 263 Le pattern observer : le retour ................................................................................................................................................................................. 267 Cadeau : un bouton personnalis optimis ............................................................................................................................................................. 268

TP : une calculatrice ...................................................................................................................................................... 270laboration .............................................................................................................................................................................................................. Conception .............................................................................................................................................................................................................. Correction ................................................................................................................................................................................................................ Gnrer un .jar excutable ...................................................................................................................................................................................... Une classe hrite de Thread ................................................................................................................................................................................. Utiliser l'interface Runnable ..................................................................................................................................................................................... Synchroniser ses threads ........................................................................................................................................................................................ Contrler son animation .......................................................................................................................................................................................... Depuis Java 7 : le pattern Fork/Join ........................................................................................................................................................................ 271 271 272 275 281 285 289 289 290

Excuter des tches simultanment ............................................................................................................................. 280

Les champs de formulaire ............................................................................................................................................. 300Les listes : l'objet JComboBox ................................................................................................................................................................................ 300 Premire utilisation .................................................................................................................................................................................................. 300Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Sommaire

4/535301 303 308 308 309 314 316 316 317 320 324 326 328 331 337 337 345 348 355 359 361 362 362 367

L'interface ItemListener ........................................................................................................................................................................................... Changer la forme de notre animation ...................................................................................................................................................................... Les cases cocher : l'objet JCheckBox .................................................................................................................................................................. Premire utilisation .................................................................................................................................................................................................. Un pseudomorphing pour notre animation .............................................................................................................................................................. Le petit cousin : l'objet JRadioButton ...................................................................................................................................................................... Les champs de texte : l'objet JTextField .................................................................................................................................................................. Premire utilisation .................................................................................................................................................................................................. Un objet plus restrictif : le JFormattedTextField ...................................................................................................................................................... Contrle du clavier : l'interface KeyListener ............................................................................................................................................................ Les botes de dialogue ............................................................................................................................................................................................ Les botes de confirmation ...................................................................................................................................................................................... Les botes de saisie ................................................................................................................................................................................................ Des botes de dialogue personnalises .................................................................................................................................................................. Les menus ............................................................................................................................................................................................................... Faire son premier menu .......................................................................................................................................................................................... Les raccourcis clavier .............................................................................................................................................................................................. Faire un menu contextuel ........................................................................................................................................................................................ Les barres d'outils ................................................................................................................................................................................................... Utiliser les actions abstraites ................................................................................................................................................................................... Cahier des charges ................................................................................................................................................................................................. Prrequis ................................................................................................................................................................................................................. Correction ................................................................................................................................................................................................................ Amliorations possibles ..........................................................................................................................................................................................

Les menus et botes de dialogue .................................................................................................................................. 323

TP : l'ardoise magique ................................................................................................................................................... 360

Conteneurs, sliders et barres de progression ............................................................................................................... 367Autres conteneurs ................................................................................................................................................................................................... 368 L'objet JSplitPane .................................................................................................................................................................................................... 368 L'objet JScrollPane .................................................................................................................................................................................................. 371 L'objet JTabbedPane ............................................................................................................................................................................................... 373 L'objet JDesktopPane combin des JInternalFrame ............................................................................................................................................ 377 L'objet JWindow ...................................................................................................................................................................................................... 378 Le JEditorPane ........................................................................................................................................................................................................ 379 Le JSlider ................................................................................................................................................................................................................ 380 La JProgressBar ...................................................................................................................................................................................................... 381 Enjoliver vos IHM .................................................................................................................................................................................................... 382

Les arbres et leur structure ........................................................................................................................................... 384La composition des arbres ...................................................................................................................................................................................... Des arbres qui vous parlent .................................................................................................................................................................................... Dcorez vos arbres ................................................................................................................................................................................................. Modifier le contenu de nos arbres ........................................................................................................................................................................... Premiers pas ........................................................................................................................................................................................................... Gestion de l'affichage .............................................................................................................................................................................................. Les cellules ............................................................................................................................................................................................................. Contrlez l'affichage ................................................................................................................................................................................................ Interaction avec l'objet JTable ................................................................................................................................................................................. Ajouter des lignes et des colonnes ......................................................................................................................................................................... 385 389 392 397 404 405 405 411 415 421

Les interfaces de tableaux ............................................................................................................................................ 403

TP : le pendu ................................................................................................................................................................. 423Cahier des charges ................................................................................................................................................................................................. 424 Prrequis ................................................................................................................................................................................................................. 425 Correction ................................................................................................................................................................................................................ 426

Mieux structurer son code : le pattern MVC .................................................................................................................. 427Premiers pas ........................................................................................................................................................................................................... 428 Le modle ............................................................................................................................................................................................................... 429 Le contrleur ........................................................................................................................................................................................................... 432 La vue ...................................................................................................................................................................................................................... 434

Le Drag'n Drop .............................................................................................................................................................. 438Prsentation ............................................................................................................................................................................................................ Fonctionnement ...................................................................................................................................................................................................... Crer son propre TransferHandler .......................................................................................................................................................................... Activer le drop sur un JTree .................................................................................................................................................................................... Effet de dplacement .............................................................................................................................................................................................. 438 441 444 448 453

Mieux grer les interactions avec les composants ....................................................................................................... 458Prsentation des protagonistes ............................................................................................................................................................................... 458 Utiliser l'EDT ............................................................................................................................................................................................................ 459 La classe SwingWorker ................................................................................................................................................................................ 461

Partie 4 : Interactions avec les bases de donnes .......................................................................... 466JDBC : la porte d'accs aux bases de donnes ........................................................................................................... 466Rappels sur les bases de donnes ......................................................................................................................................................................... Quelle base de donnes utiliser .............................................................................................................................................................................. Installation de PostgreSQL ...................................................................................................................................................................................... Prparer la base de donnes .................................................................................................................................................................................. Crer la base de donnes ....................................................................................................................................................................................... Crer les tables ....................................................................................................................................................................................................... Se connecter la base de donnes ........................................................................................................................................................................ Connexion ............................................................................................................................................................................................................... 466 467 467 470 471 473 478 480

Fouiller dans sa base de donnes ................................................................................................................................ 483Le couple Statement - ResultSet ............................................................................................................................................................................ 483Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partager

5/535

Entranons-nous ...................................................................................................................................................................................................... 486 Statement ................................................................................................................................................................................................................ 490 Les requtes prpares .......................................................................................................................................................................................... 491 ResultSet : le retour ................................................................................................................................................................................................. 493 Modifier des donnes .............................................................................................................................................................................................. 496 Statement, toujours plus fort ................................................................................................................................................................................... 497 Grer les transactions manuellement ..................................................................................................................................................................... 499

Limiter le nombre de connexions .................................................................................................................................. 502Pourquoi ne se connecter qu'une seule fois ? ........................................................................................................................................................ 502 Le pattern singleton ................................................................................................................................................................................................. 502 Le singleton dans tous ses tats ............................................................................................................................................................................. 504

TP : un testeur de requtes ........................................................................................................................................... 506Cahier des charges ................................................................................................................................................................................................. 507 Quelques captures d'cran ..................................................................................................................................................................................... 507 Correction ................................................................................................................................................................................................................ 508

Lier ses tables avec des objets Java : le pattern DAO ................................................................................................. 512Avant toute chose .................................................................................................................................................................................................... 513 Le pattern DAO ....................................................................................................................................................................................................... 517 Contexte .................................................................................................................................................................................................................. 517 Le pattern DAO ....................................................................................................................................................................................................... 517 Premier test ............................................................................................................................................................................................................. 523 Le pattern factory .................................................................................................................................................................................................... 524 Fabriquer vos DAO .................................................................................................................................................................................................. 526 De l'usine la multinationale ................................................................................................................................................................................... 528

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partager

6/535

Apprenez programmer en Java

Par

cysboy

Mise jour : 08/01/2013 Difficult : Intermdiaire

Dure d'tude : 2 mois

67 301 visites depuis 7 jours, class 4/799 Bonjour tous, amis Zros ! Bienvenue dans mon cours de programmation en Java. C'est un langage trs utilis, notamment par un grand nombre de programmeurs professionnels, ce qui en fait un langage incontournable actuellement. V les caractristiques de Java en quelques mots : oici Java est un langage de programmation moderne dvelopp par Sun Microsystems (aujourd'hui rachet par Oracle). Il ne faut surtout pas le confondre avec JavaScript (langage de scripts utilis principalement sur les sites web), car Java n'a rien voir. Une de ses plus grandes forces est son excellente portabilit : une fois votre programme cr, il fonctionnera automatiquement sous Windows, Mac, Linux, etc. On peut faire de nombreuses sortes de programmes avec Java : des applications, sous forme de fentre ou de console ; des applets, qui sont des programmes Java incorpors des pages web ; des applications pour appareils mobiles, avec J2ME ; et bien d'autres ! J2EE, JMF, J3D pour la 3D... Comme vous le voyez, Java permet de raliser une trs grande quantit d'applications diffrentes ! Mais... comment apprendre un langage si vaste qui offre autant de possibilits ? Heureusement, ce cours est l pour tout vous apprendre de Java partir de zro .

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Apprenez programmer en Java

7/535

Exemples de programmes dvelopps en Java

Ce cours vous plat ? Si vous avez aim ce cours, vous pouvez retrouver le livre "Apprenez programmer en Java" du mme auteur, en vente sur le Site du Zro, en librairie et dans les boutiques en ligne. V ous y trouverez ce cours adapt au format papier. Plus d'informations

N.B. : je tiens faire une ddicace spciale ptipilou, zCorrecteur mrite, sans qui ce tuto n'aurait pas vu le jour ! Un grand merci pour ton travail et ton soutien !

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

8/535

Partie 1 : Bien commencer en JavaBon, vous ne connaissez rien Java ? Eh bien c'est par ici que a se passe ! Java est normalement un langage fait pour dvelopper des applications graphiques, mais pour arriver cela, nous devons tout de mme passer par la programmation Java en mode console. Donc, dans cette premire partie, nous allons voir les bases du langage, ainsi que leur fidle compagnon Eclipse.

Installer les outils de dveloppementL'un des principes phares de Java rside dans sa machine virtuelle : celle-ci assure tous les dveloppeurs Java qu'un programme sera utilisable avec tous les systmes d'exploitation sur lesquels est installe une machine virtuelle Java. Lors de la phase de compilation de notre code source, celui-ci prend une forme intermdiaire appele byte code : c'est le fameux code inintelligible pour votre machine, mais interprtable par la machine virtuelle Java. Cette dernire porte un nom : on parle plus communment de JRE (Java Runtime Environment). Plus besoin de se soucier des spcificits lies tel ou tel OS (Operating System, soit systme d'exploitation). Nous pourrons donc nous consacrer entirement notre programme. Afin de nous simplifier la vie, nous allons utiliser un outil de dveloppement, ou IDE (Integrated Development Environment), pour nous aider crire nos futurs codes source Nous allons donc avoir besoin de diffrentes choses afin de pouvoir crer des programmes Java : la premire est ce fameux JRE !

Installer les outils ncessaires JRE ou JDKCommencez par tlcharger l'environnement Java sur le site d'Oracle, comme le montre la figure suivante. Choisissez la dernire version stable.

Encart de

tlchargement V ous avez sans doute remarqu qu'on vous propose de tlcharger soit le JRE, soit le JDK (Java Development Kit). La diffrence entre ces deux environnements est crite, mais pour les personnes fches avec l'anglais, sachez que le JRE contient tout le ncessaire pour que vos programmes Java puissent tre excuts sur votre ordinateur ; le JDK, en plus de contenir le JRE, contient tout le ncessaire pour dvelopper, compiler L'IDE contenant dj tout le ncessaire pour le dveloppement et la compilation, nous n'avons besoin que du JRE. Une fois que vous avez cliqu sur Download JRE, vous arrivez sur la page reprsente la figure suivante.Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

9/535

Choix du systme

d'exploitation Cochez la case : Accept License Agreement puis cliquez sur le lien correspondant votre systme d'exploitation (x86 pour un systme 32 bits et x64 pour un systme 64 bits). Une popup de tlchargement doit alors apparatre. Je vous ai dit que Java permet de dvelopper diffrents types d'applications ; il y a donc des environnements permettant de crer des programmes pour diffrentes plates-formes : J2SE (Java 2 Standard Edition , celui qui nous intresse dans cet ouvrage) : permet de dvelopper des applications dites client lourd , par exemple Word, Excel, la suite OpenOffice.org Toutes ces applications sont des clients lourds . C'est ce que nous allons faire dans ce cours J2EE (Java 2 Enterprise Edition) : permet de dvelopper des applications web en Java. On parle aussi de clients lgers. J2ME (Java 2 Micro Edition) : permet de dvelopper des applications pour appareils portables, comme des tlphones portables, des PDA

Eclipse IDEAvant toute chose, quelques mots sur le projet Eclipse. Eclipse IDE est un environnement de dveloppement libre permettant de crer des programmes dans de nombreux langages de programmation (Java, C++, PHP). C'est l'outil que nous allons utiliser pour programmer. Eclipse IDE est lui-mme principalement crit en Java.

Je vous invite donc tlcharger Eclipse IDE. Une fois la page de tlchargement choisissez Eclipse IDE for Java Developers, en choisissant la version d'Eclipse correspondant votre OS (Operating System = systme d'exploitation), comme indiqu la figure suivante.

Version Windows d'Eclipse IDE Slectionnez maintenant le miroir que vous souhaitez utiliser pour obtenir Eclipse. V oil, vous n'avez plus qu' attendre la fin duCe PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Javatlchargement.

10/535

Pour ceux qui l'avaient devin, Eclipse est le petit logiciel qui va nous permettre de dvelopper nos applications ou nos applets, et aussi celui qui va compiler tout a. Notre logiciel va donc permettre de traduire nos futurs programmes Java en langage byte code, comprhensible uniquement par votre JRE, frachement install. La spcificit d'Eclipse IDE vient du fait que son architecture est totalement dveloppe autour de la notion de plugin. Cela signifie que toutes ses fonctionnalits sont dveloppes en tant que plugins. Pour faire court, si vous voulez ajouter des fonctionnalits Eclipse, vous devez : tlcharger le plugin correspondant ; copier les fichiers spcifis dans les rpertoires spcifis ; dmarrer Eclipse, et a y est !

Lorsque vous tlchargez un nouveau plugin pour Eclipse, celui-ci se prsente souvent comme un dossier contenant gnralement deux sous-dossiers : un dossier plugins et un dossier features . Ces dossiers existent aussi dans le rpertoire d'Eclipse. Il vous faut donc copier le contenu des dossiers de votre plugin vers le dossier correspondant dans Eclipse (plugins dans plugins et features dans features).

V ous devez maintenant avoir une archive contenant Eclipse. Dcompressez-la o vous voulez, entrez dans ce dossier et lancez Eclipse. Au dmarrage, comme le montre la figure suivante, Eclipse vous demande dans quel dossier vous souhaitez enregistrer vos projets ; sachez que rien ne vous empche de spcifier un autre dossier que celui propos par dfaut. Une fois cette tape effectue, vous arrivez sur la page d'accueil d'Eclipse. Si vous avez envie d'y jeter un oeil, allez-y !

V ous

devez indiquer o enregistrer vos projets

Prsentation rapide de l'interfaceJe vais maintenant vous faire faire un tour rapide de l'interface d'Eclipse. V les principaux menus : oici File : C'est ici que nous pourrons crer de nouveaux projets Java, les enregistrer et les exporter le cas chant. Les raccourcis retenir sont : ALT + SHIFT + N : nouveau projet ; CTRL + S : enregistrer le fichier o l'on est positionn ; CTRL + SHIFT + S : tout sauvegarder ; CTRL + W : fermer le fichier o l'on est positionn ; CTRL + SHIFT + W : fermer tous les fichiers ouverts. Edit : Dans ce menu, nous pourrons utiliser les commandes copier , coller , etc.Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en JavaWindow : Dans celui-ci, nous pourrons configurer Eclipse selon nos besoins.

11/535

La barre d'outilsLa barre d'outils ressemble la figure suivante.

La barre d'outils d'Eclipse Nous avons dans l'ordre : 1. 2. 3. 4. 5. 6. nouveau gnral : cliquer sur ce bouton revient faire Fichier > Nouveau ; enregistrer : revient faire CTRL + S ; imprimer : ai-je besoin de prciser ? excuter la classe ou le projet spcifi : nous verrons ceci plus en dtail ; crer un nouveau projet : revient faire Fichier > Nouveau > Java Project ; crer une nouvelle classe : crer un nouveau fichier. Cela revient faire Fichier > Nouveau > Classe.

Maintenant, je vais vous demander de crer un nouveau projet Java, comme indiqu aux figures suivantes.

Cration de projet Java - tape 1

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

12/535

Cration de projet Java -

tape 2 Renseignez le nom de votre projet comme je l'ai fait dans le premier encadr de la deuxime figure. V ous pouvez aussi voir o sera enregistr ce projet. Un peu plus compliqu, maintenant : vous avez un environnement Java sur votre machine, mais dans le cas o vous en auriez plusieurs, vous pouvez aussi spcifier Eclipse quel JRE utiliser pour ce projet, comme sur le deuxime encadr de la deuxime figure. V ous pourrez changer ceci tout moment dans Eclipse en allant dans Window > Preferences, en dpliant l'arbre Java dans la fentre et en choisissant Installed JRE. V ous devriez avoir un nouveau projet dans la fentre de gauche, comme la figure suivante.

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

13/535

Explorateur de projet

Pour boucler la boucle, ajoutons ds maintenant une nouvelle classe dans ce projet comme nous avons appris le faire plus tt via la barre d'outils. La figure suivante reprsente la fentre sur laquelle vous devriez tomber. Une classe est un ensemble de codes contenant plusieurs instructions que doit effectuer votre programme. Ne vous attardez pas trop sur ce terme, nous aurons l'occasion d'y revenir.

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

14/535

Cration d'une classe

Dans l'encadr 1, nous pouvons voir o seront enregistrs nos fichiers Java. Dans l'encadr 2, nommez votre classe Java ; moi, j'ai choisi sdz1 . Dans l'encadr 3, Eclipse vous demande si cette classe a quelque chose de particulier. Eh bien oui ! Cochez public static void main(String[] args) (nous reviendrons plus tard sur ce point), puis cliquez sur Finish. La fentre principale d'Eclipse se lance, comme la figure suivante.

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

15/535

Fentre principale d'Eclipse Avant de commencer coder, nous allons explorer l'espace de travail. Dans l'encadr de gauche (le vert), vous trouverez le dossier de votre projet ainsi que son contenu. Ici, vous pourrez grer votre projet comme bon vous semble (ajout, suppression). Dans l'encadr positionn au centre (le bleu), je pense que vous avez devin : c'est ici que nous allons crire nos codes source. Dans l'encadr du bas (le rouge), c'est l que vous verrez apparatre le contenu de vos programmes ainsi que les erreurs ventuelles ! Et pour finir, c'est dans l'encadr de droite (le violet), ds que nous aurons appris coder nos propres fonctions et nos objets, que la liste des mthodes et des variables sera affiche.

Votre premier programmeComme je vous l'ai maintes fois rpt, les programmes Java sont, avant d'tre utiliss par la machine virtuelle, prcompils en byte code (par votre IDE ou la main). Ce byte code n'est comprhensible que par une JVM, et c'est celle-ci qui va faire le lien entre ce code et votre machine. V ous aviez srement remarqu que sur la page de tlchargement du JRE, plusieurs liens taient disponibles : un lien pour Windows ; un lien pour Mac ; un lien pour Linux.

Ceci, car la machine virtuelle Java se prsente diffremment selon qu'on se trouve sous Mac, sous Linux ou encore sous Windows. Par contre, le byte code, lui, reste le mme quel que soit l'environnement avec lequel a t dvelopp et prcompil votre programme Java. Consquence directe : quel que soit l'OS sous lequel a t cod un programme Java, n'importe quelle machine pourra l'excuter si elle dispose d'une JVM ! Tu n'arrtes pas de nous rabcher byte code par-ci, byte code par-l Mais c'est quoi, au juste ?

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

16/535

Eh bien, un byte code (il existe plusieurs types de byte code, mais nous parlons ici de celui cr par Java) n'est rien d'autre qu'un code intermdiaire entre votre code Java et le code machine. Ce code particulier se trouve dans les fichiers prcompils de vos programmes ; en Java, un fichier source a pour extension .java et un fichier prcompil a l'extension .class : c'est dans ce dernier que vous trouverez du byte code. Je vous invite examiner un fichier .class la fin de cette partie (vous en aurez au moins un), mais je vous prviens, c'est illisible ! Par contre, vos fichiers .java sont de simples fichiers texte dont l'extension a t change. V ous pouvez donc les ouvrir, les crer ou encore les mettre jour avec le Bloc-notes de Windows, par exemple. Cela implique que, si vous le souhaitez, vous pouvez crire des programmes Java avec le Bloc-notes ou encore avec Notepad++. Reprenons. V ous devez savoir que tous les programmes Java sont composs d'au moins une classe. Elle doit contenir une mthode appele main : ce sera le point de dmarrage de notre programme. Une mthode est une suite d'instructions excuter. C'est un morceau de logique de notre programme. Une mthode contient : un en-tte : celui-ci va tre en quelque sorte la carte d'identit de la mthode ; un corps : le contenu de la mthode, dlimit par des accolades ; une valeur de retour : le rsultat que la mthode va retourner.

V ous verrez un peu plus tard qu'un programme n'est qu'une multitude de classes qui s'utilisent l'une l'autre. Mais pour le moment, nous n'allons travailler qu'avec une seule classe.

Je vous avais demand de crer un projet Java ; ouvrez-le ! V ous voyez la fameuse classe dont je vous parlais ? Ici, elle s'appelle sdz1 , comme la figure suivante. V ous pouvez voir que le mot class est prcd du mot public, dont nous verrons la signification lorsque nous programmerons des objets.

Mthode principale

Pour le moment, ce que vous devez retenir, c'est que votre classe est dfinie par un mot cl (class), qu'elle a un nom (ici, sdz1 ) et que son contenu est dlimit par des accolades ({ }). Nous crirons nos codes sources entre les accolades de la mthode main. La syntaxe de cette mthode est toujours la mme : Code : Java public static void main(String[] args){ //Contenu de votre classe }

Excuse-nous, mais pourquoi as-tu crit //Contenu de votre classe et pas Contenu de votre classe ?

Bonne question ! Je vous ai dit prcdemment que votre programme Java, avant de pouvoir tre excut, doit tre prcompil enCe PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

17/535

byte code. Eh bien, la possibilit de forcer le compilateur ignorer certaines instructions existe ! Cest ce quon appelle des commentaires, et deux syntaxes sont disponibles pour commenter son texte : 1. Les commentaires unilignes : introduits par les symboles // , ils mettent tout ce qui les suit en commentaire, du moment que le texte se trouve sur la mme ligne ; 2. Les commentaires multilignes : ils sont introduits par les symboles /* et se terminent par les symboles */ .

Code : Java public static void main(String[] args){ //Un commentaire //Un autre //Encore un autre /* Un commentaire Un autre Encore un autre */ Ceci n'est pas un commentaire ! }

D'accord, mais a sert quoi ?

C'est simple : au dbut, vous ne ferez que de trs petits programmes. Mais ds que vous aurez pris de la bouteille, leurs tailles et le nombre de classes qui les composeront vont augmenter. V ous serez contents de trouver quelques lignes de commentaires au dbut de votre classe pour vous dire quoi elle sert, ou encore des commentaires dans une mthode qui effectue des choses compliques afin de savoir o vous en tes dans vos traitements Il existe en fait une troisime syntaxe, mais elle a une utilit particulire. Elle permettra de gnrer une documentation pour votre programme (on l'appelle Javadoc pour Java Documentation ). Je n'en parlerai que trs peu, et pas dans ce chapitre. Nous verrons cela lorsque nous programmerons des objets, mais pour les curieux, je vous conseille le trs bon cours de dworkin sur ce sujet disponible sur le Site du Zro. partir de maintenant et jusqu' ce que nous programmions des interfaces graphiques, nous allons faire ce qu'on appelle des programmes procduraux. Cela signifie que le programme s'excutera de faon procdurale, c'est--dire qui s'effectue de haut en bas, une ligne aprs l'autre. Bien sr, il y a des instructions qui permettent de rpter des morceaux de code, mais le programme en lui-mme se terminera une fois parvenu la fin du code. Cela vient en opposition la programmation vnementielle (ou graphique) qui, elle, est base sur des vnements (clic de souris, choix dans un menu).

Hello WorldMaintenant, essayons de taper le code suivant : Code : Java public static void main(String[] args){ System.out.print("Hello World !"); }

N'oubliez surtout pas le ; la fin de la ligne ! Toutes les instructions en Java sont suivies d'un point-virgule.

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

18/535

Une fois que vous avez saisi cette ligne de code dans votre mthode main, il vous faut lancer le programme. Si vous vous souvenez bien de la prsentation faite prcdemment, vous devez cliquer sur la flche blanche dans un rond vert, comme la figure suivante. Bouton de lancement du programme

Si vous regardez dans votre console, dans la fentre du bas sous Eclipse, vous devriez voir quelque chose ressemblant la figure suivante.

La console d'Eclipse

Expliquons un peu cette ligne de code. Littralement, elle signifie la mthode print() va crire Hello World ! en utilisant l'objet out de la classe System . Avant que vous arrachiez les cheveux, voici quelques prcisions : System : ceci correspond l'appel d'une classe qui se nomme System . C'est une classe utilitaire qui permet surtout d'utiliser l'entre et la sortie standard, c'est--dire la saisie clavier et l'affichage l'cran. out : objet de la classe System qui gre la sortie standard. print : mthode qui crit dans la console le texte pass en paramtre (entre les parenthses).

Prenons le code suivant : Code : Java System.out.print("Hello World !"); System.out.print("My name is"); System.out.print("Cysboy");

Lorsque vous l'excutez, vous devriez voir des chanes de caractres qui se suivent sans saut de ligne. Autrement dit, ceci s'affichera dans votre console : Code : Console Hello World !My name isCysboy

Je me doute que vous souhaiteriez insrer un retour la ligne pour que votre texte soit plus lisible Pour cela, vous avez plusieurs solutions : soit vous utilisez un caractre d'chappement, ici \n ; soit vous utilisez la mthode println() la place de la mthode print().

Donc, si nous reprenons notre code prcdent et que nous appliquons cela, voici ce que a donnerait : Code : Java System.out.print("Hello World ! \n");Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en JavaSystem.out.println("My name is"); System.out.println("\nCysboy");

19/535

Avec pour rsultat : Code : Console Hello World ! My name is Cysboy

V ous pouvez voir que : lorsque vous utilisez le caractre d'chappement \n, quelle que soit la mthode appele, celle-ci ajoute immdiatement un retour la ligne son emplacement ; lorsque vous utilisez la mthode println(), celle-ci ajoute automatiquement un retour la ligne la fin de la chane passe en paramtre ; un caractre d'chappement peut tre mis dans la mthode println().

J'en profite au passage pour vous mentionner deux autres caractres d'chappement : 1. \r va insrer un retour chariot, parfois utilis aussi pour les retours la ligne ; 2. \t va faire une tabulation.

V ous avez srement remarqu que la chane de caractres que l'on affiche est entoure par des " . En Java, les guillemets doubles sont des dlimiteurs de chanes de caractres ! Si vous voulez afficher un guillemet double dans la sortie standard, vous devrez l'chapper avec un \ , ce qui donnerait : "Coucou mon \"chou\" !". Il n'est pas rare de croiser le terme anglais quote pour dsigner les guillemets droits. Cela fait en quelque sorte partie du jargon du programmeur.

Je vous propose maintenant de passer un peu de temps sur la compilation de vos programmes en ligne de commande. Cette partie n'est pas obligatoire, loin de l, mais elle ne peut tre qu'enrichissante.

Compilation en ligne de commande (Windows)Bienvenue donc aux plus curieux ! Avant de vous apprendre compiler et excuter un programme en ligne de commande, il va vous falloir le JDK (Java SE Development Kit). C'est avec celui-ci que nous aurons de quoi compiler nos programmes. Le ncessaire l'excution des programmes est dans le JRE mais il est galement inclus dans le JDK. Je vous invite donc retourner sur le site d'Oracle et tlcharger ce dernier. Une fois cette opration effectue, il est conseill de mettre jour votre variable d'environnement %PATH%. Euh quoi ?

V otre variable d'environnement . C'est grce elle que Windows trouve des excutables sans qu'il soit ncessaire de lui spcifier le chemin d'accs complet. V ous enfin, Windows en a plusieurs, mais nous ne nous intresserons qu' une seule. En gros, cette variable contient le chemin d'accs certains programmes. Par exemple, si vous spcifiez le chemin d'accs un programme X dans votre variable d'environnement et que, par un malheureux hasard, vous n'avez plus aucun raccourci vers X, vous l'avez dfinitivement perdu dans les mandres de votre PC. EhCe PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

20/535

bien vous pourrez le lancer en faisant Dmarrer > Excuter et en tapant la commande X.exe (en partant du principe que le nom de l'excutable est X.exe ). D'accord, mais comment fait-on ? Et pourquoi doit-on faire a pour le JDK ?

J'y arrive. Une fois votre JDK install, ouvrez le rpertoire bin de celui-ci, ainsi que celui de votre JRE. Nous allons nous attarder sur deux fichiers. Dans le rpertoire bin de votre JRE, vous devez avoir un fichier nomm java.exe, que vous retrouvez aussi dans le rpertoire bin de votre JDK. C'est grce ce fichier que votre ordinateur peut lancer vos programmes par le biais de la JVM. Le deuxime ne se trouve que dans le rpertoire bin de votre JDK, il s'agit de javac.exe (Java compiler). C'est celui-ci qui va prcompiler vos programmes Java en byte code. Alors, pourquoi mettre jour la variable d'environnement pour le JDK ? Eh bien, compiler et excuter en ligne de commande revient utiliser ces deux fichiers en leur prcisant o se trouvent les fichiers traiter. Cela veut dire que si l'on ne met pas jour la variable d'environnement de Windows, il nous faudrait : ouvrir l'invite de commande ; se positionner dans le rpertoire bin de notre JDK ; appeler la commande souhaite ; prciser le chemin du fichier .java ; renseigner le nom du fichier.

Avec notre variable d'environnement mise jour, nous n'aurons plus qu' : nous positionner dans le dossier de notre programme ; appeler la commande ; renseigner le nom du fichier Java.

Allez dans le panneau de configuration de votre PC ; de l, cliquez sur l'icne Systme ; choisissez l'onglet Avanc et vous devriez voir en bas un bouton nomm Variables d'environnement : cliquez dessus. Une nouvelle fentre s'ouvre. Dans la partie infrieure intitule Variables systme, cherchez la variable Path. Une fois slectionne, cliquez sur Modifier. Encore une fois, une fentre, plus petite celle-ci, s'ouvre devant vous. Elle contient le nom de la variable et sa valeur. Ne changez pas son nom et n'effacez pas son contenu ! Nous allons juste ajouter un chemin d'accs.

Pour ce faire, allez jusqu'au bout de la valeur de la variable, ajoutez-y un point-virgule s'il n'y en a pas et ajoutez le chemin d'accs au rpertoire bin de votre JDK, en terminant celui-ci par un point-virgule ! Chez moi, a donne ceci : C:\Sun\SDK\jdk\bin. Auparavant, ma variable d'environnement contenait, avant mon ajout : Code : Java %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;

Et maintenant : Code : Java %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Sun\SDK\jdk\bin;

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en JavaValidez les changements : vous tes maintenant prts compiler en ligne de commande. Pour bien faire, allez dans le rpertoire de votre premier programme et effacez le .class. Ensuite, faites Dmarrer > Excuter (ou encore touche Windows + R et tapez cmd .

21/535

Dans l'invite de commande, on se dplace de dossier en dossier grce l'instruction cd. cd pour aller dans un dossier contenu dans celui dans lequel nous nous trouvons, cd .. pour remonter d'un dossier dans la hirarchie.

Par exemple, lorsque j'ouvre la console, je me trouve dans le dossier C:\toto\titi et mon application se trouve dans le dossier C:\sdz, je fais donc : Code : Console cd .. cd .. cd sdz

Aprs de la premire instruction, je me retrouve dans le dossier C:\toto. Grce la deuxime instruction, j'arrive la racine de mon disque. Via la troisime instruction, je me retrouve dans le dossier C:\sdz. Nous sommes maintenant dans le dossier contenant notre fichier Java ! Cela dit, nous pouvions condenser cela en : Code : Console cd ../../sdz

Maintenant, vous pouvez crer votre fichier .class en excutant la commande suivante : Code : Console javac

Si, dans votre dossier, vous avez un fichier test.java, compilez-le en faisant : Code : Console javac test.java

Et si vous n'avez aucun message d'erreur, vous pouvez vrifier que le fichier test.class est prsent en utilisant l'instruction dir qui liste le contenu d'un rpertoire. Cette tape franchie, vous pouvez lancer votre programme Java en faisant ce qui suit : Code : Console java

Ce qui nous donne : Code : ConsoleCe PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Javajava test

22/535

Et normalement, le rsultat de votre programme Java s'affiche sous vos yeux bahis ! Attention : il ne faut pas mettre l'extension du fichier pour le lancer, mais il faut la mettre pour le compiler.

V : vous avez compil et excut un programme Java en ligne de commande V oil ous avez pu voir qu'il n'y a rien de vraiment compliqu et, qui sait, vous en aurez peut-tre besoin un jour.

En rsumLa JVM est le cur de Java. Elle fait fonctionner vos programmes Java, prcompils en byte code. Les fichiers contenant le code source de vos programmes Java ont l'extension .java. Les fichiers prcompils correspondant vos codes source Java ont l'extension .class. Le byte code est un code intermdiaire entre celui de votre programme et celui que votre machine peut comprendre. Un programme Java, cod sous Windows, peut tre prcompil sous Mac et enfin excut sous Linux. V otre machine NE PEUT PAS comprendre le byte code, elle a besoin de la JVM. Tous les programmes Java sont composs d'au moins une classe. Le point de dpart de tout programme Java est la mthode public static void main(String[] args). On peut afficher des messages dans la console grce ces instructions : System.out.println, qui affiche un message avec un saut de ligne la fin ; System.out.print, qui affiche un message sans saut de ligne.

Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

23/535

Les variables et les oprateursNous commenons maintenant srieusement la programmation. Dans ce chapitre, nous allons dcouvrir les variables. On les retrouve dans la quasi-totalit des langages de programmation. Une variable est un lment qui stocke des informations de toute sorte en mmoire : des chiffres, des rsultats de calcul, des tableaux, des renseignements fournis par l'utilisateur V ous ne pourrez pas programmer sans variables. Il est donc indispensable que je vous les prsente !

Petit rappelAvant de commencer, je vous propose un petit rappel sur le fonctionnement d'un ordinateur et particulirement sur la faon dont ce dernier interprte notre faon de voir le monde V ous n'tes pas sans savoir que votre ordinateur ne parle qu'une seule langue : le binaire ! Le langage binaire est une simple suite de 0 et de 1. V ous devez vous rendre compte qu'il nous serait trs difficile, en tant qu'tres humains, d'crire des programmes informatiques pour expliquer nos ordinateurs ce qu'ils doivent faire, entirement en binaire V ous imaginez ! Des millions de 0 et de 1 qui se suivent ! Non, ce n'tait pas possible ! De ce fait, des langages de programmation ont t crs afin que nous ayons disposition des instructions claires pour crer nos programmes. Ces programmes sont ensuite compils pour que nos instructions humainement comprhensibles soient, aprs coup, comprhensible par votre machine. Le langage binaire est donc une suite de 0 et de 1 qu'on appelle bit. Si vous tes habitus la manipulation de fichiers (audio, vidos, etc.) vous devez savoir qu'il existe plusieurs catgories de poids de programme (Ko, Mo, Go, etc.). Tous ces poids correspondent au systme mtrique informatique. Le tableau suivant prsente les poids les plus frquemment rencontrs : Raccourcis Traduction b o Ko Mo Go To Bit Octet Kilo Octet Correspondance C'est la plus petite valeur informatique : soit 0 soit 1 regroupement de 8 bits, par exemple : 01011101 regroupement de 1024 octets

Mega Octet regroupement de 1024 ko Giga Octet Tera Octet regroupement de 1024 Mo regroupement de 1024 Go

Pourquoi 1024 ? Pourquoi pas 1000 ?

Si vous vous posez cette question c'est parce que vous ne savez pas encore compter comme un ordinateur et que vous tes trop habitus utiliser un systme en base 10. Je sais, c'est un peu confus Pour comprendre pourquoi ce dcoupage est fait de la sorte, vous devez comprendre que votre faon de compter n'est pas identique celle de votre machine. En effet, vous avez l'habitude de compter ainsi : Code : Console

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 ... 254, 255, 256 ... 12345678, 1234567

Cette faon de compter repose sur une base 10, car elle se dcompose en utilisant des puissances de 10. Ainsi, le nombre 1024 peut se dcomposer de cette faon : Pour bien comprendre ce qui suit, vous devez aussi savoir que tout nombre lev la puissance 0 vaut 1, donc . Partant de ce postulat, nous pouvons donc rcrire la dcomposition du nombre 1024 ainsi : . Nous multiplions donc la base utilise, ordonne par puissance, par un nombre compris entre 0 et cette base moins 1 (de 0 9). Sauf que votre machine parle en binaire, elle compte donc en base 2. Cela revient donc appliquer la dcomposition prcdente en remplaant les 10 par des 2. Par contre, vous n'aurez que deux multiplicateurs possibles : 0 ou 1 (et oui, vous tes en base 2).Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en JavaDe ce fait, en base 2, nous pourrions avoir ce genre de chose : la sorte : donc

24/535, qui peut se traduire de soit .

Donc, 1101 en base 2 s'crit 13 en base 10. Et donc pourquoi des paquets de 1024 comme dlimiteur de poids ? Car ce nombre correspond une puissance de 2 : . Dans le monde de l'informatique, il existe une autre faon de compter trs rpandue : l'hexadcimal. Dans ce cas, nous comptons en base 16 : Code : Console 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A,

C'est tordu ! quoi a peut bien servir ?

Le ct pratique de cette notation c'est qu'elle se base sur une subdivision d'un octet. Pour reprsenter un nombre de 0 15 (donc les seize premiers nombres), 4 bits sont ncessaires : et . En fait, vous savez maintenant qu'un octet est un regroupement de 8 bits. Utiliser l'hexadcimal permet de simplifier la notation binaire car, si vous regroupez votre octet de bits en deux paquets de 4 bits, vous pouvez reprsenter chaque paquet avec un caractre hexadcimal. V un exemple : oici Code : Autre 10110100 -> 1011 1011 (en base 2) 0100 (en base 2) Donc 10110100 -> 0100 = 11 (base 10) = B (en base 16) = 4 (base 10) = 4 (en base 16) 1011 0100 -> B4

La figure suivante reprsente un nombre binaire plus consquent :

Un nombre binaire consquent

Les diffrents types de variablesNous allons commencer par dcouvrir comment crer des variables dans la mmoire. Pour cela, il faut les dclarer. Une dclaration de variable se fait comme ceci : Code : Java ;Ce PDF vous est offert par Ac c enturehttp://careers.accenture.com/f r-f r

www.siteduzero.com

Partie 1 : Bien commencer en Java

25/535

Cette opration se termine toujours par un point-virgule ; (comme toutes les instructions de ce langage). Ensuite, on l'initialise en entrant une valeur. En Java, nous avons deux types de variables : 1. des variables de type simple ou primitif ; 2. des variables de type complexe ou des objets .

Ce qu'on appelle des types simples ou types primitifs, en Java, ce sont tout bonnement des nombres entiers, des nombres rels, des boolens ou encore des caractres, et vous allez voir qu'il y a plusieurs faons de dclarer certains de ces types.

Les variables de type numriqueLe type byte (1 octet) peut contenir les entiers entre -128 et +127. Code : Java byte temperature; temperature = 64;

Le type short (2 octets) contient les entiers compris entre -32768 et +32767. Code : Java short vitesseMax; vitesseMax = 32000;

Le type int (4 octets) va de -2*109 2*109 (2 et 9 zros derrire ce qui fait dj un joli nombre). Code : Java int temperatureSoleil; temperatureSoleil = 15600000; //La temprature est exprime en kelvins

Le type long (8 octets) peut aller de Code : Java

(encore plus gros).

long anneeLumiere; anneeLumiere = 9460700000000000L;

Afin d'informer la JVM que le type utilis est long, vous DEVEZ ajouter un "L" la fin de votre nombre, sinon le compilateur essaiera d'allouer ce dernier dans une taille d'espace mm