Programmation Java pour les enfants, les parents et les grands-parents
Un jour, mon fils Davey entra dans mon bureau tel un ouragan, mon didacticiel Java pour adultes à la main. Il me demanda de lui apprendre à programmer pour pouvoir créer des jeux informatiques. A cette époque, j’avais déjà écrit une paire de livres sur Java et donné de nombreux cours de programmation, mais c’était pour les grandes personnes ! Une recherche sur Amazon n’a rien donné d’autre que des livres "pour les nuls", mais Davey n’est pas un "nul" ! Après avoir passé des heures sur Google, je ne trouvai que de pauvres tentatives de cours de Java pour les enfants ou des livres très superficiels. Sais-tu ce que j’ai fait ? J’ai décidé d’en écrire un. Pour m’aider à comprendre la mentalité des plus jeunes, je décidai de demander à Davey de devenir mon premier étudiant enfant.
Ce livre sera utile aux personnes suivantes :
- Les jeunes de 11 à 18 ans.
- Les enseignants en informatique.
- Les parents souhaitant apprendre à programmer à leurs enfants.
- Tous ceux qui débutent en programmation (l’âge n’a pas d’importance).
Même si j’emploie un langage simple pour expliquer la programmation, je m’engage à traiter mes lecteurs avec respect – je ne vais pas écrire quelque chose comme "Cher ami ! Tu es sur le point de commencer un nouveau et passionnant voyage…". Bon, d’accord ! Venons-en aux faits.
Les premiers chapitres de ce livre aboutiront à des programmes de jeu simples, avec les instructions détaillées pour les faire fonctionner. Nous allons aussi créer une calculatrice qui ressemble à celle que tu as dans ton ordinateur. Dans la seconde partie du livre, nous créerons ensemble les programmes de jeu Morpion et Ping-Pong.
Tu devras t’habituer à l’argot des programmeurs professionnels ; les mots importants sont écrits dans cette police.
Les programmes et les éléments du langage Java sont écrits dans une autre police, par exemple String.
Ce livre ne couvre pas tous les éléments du langage Java, sinon il serait trop gros et ennuyeux. Mais à la fin de chaque chapitre, il y a une section Autres lectures avec des liens vers des sites web contenant des explications plus détaillées sur le sujet.
Programmation Java pour les enfants, les parents et les grands-parents
Tu trouveras aussi des devoirs à la fin de chaque chapitre. Chaque lecteur doit faire les exercices de la section Exercices. Si ceux-ci sont trop faciles pour toi, je te mets au défi de faire ceux de la section Exercices pour les petits malins. En fait, si tu lis ce livre, tu es une personne intelligente et tu devrais essayer de faire tous les exercices.
Pour retirer le maximum de ce livre, lis-le du début à la fin. Ne change pas de chapitre avant d’avoir compris celui que tu es en train de lire. Les ados, les parents et les grands-parents devraient pouvoir maîtriser ce livre sans aide extérieure, mais les enfants plus jeunes devraient lire ce livre avec l’aide d’un adulte.
Remerciements
Merci à tous les architectes et développeurs qui ont travaillé gratuitement sur Eclipse – l’un des meilleurs environnements de développement intégrés disponibles pour Java.
Remerciements particuliers aux chauffeurs de bus de la société New Jersey Transit pour la souplesse de leur conduite – la moitié de ce livre a été écrite dans le bus n° 139, que je prenais pour aller au travail.
Merci à cette dame adorable, ma femme, Natasha, pour avoir fait tourner avec succès cette affaire qu’on appelle famille.
Remerciements particuliers à Yuri Goncharov – un développeur Java expert de Toronto, au Canada. Il a relu le livre, testé chaque exemple de code et fourni un retour précieux afin d’améliorer un peu ce livre.
Chapitre 1. Ton premier programme Java
Les gens communiquent entre eux à l’aide de différentes
langues. De la même façon, on peut écrire des programmes informatiques, tels que des jeux, calculatrices ou éditeurs de texte, à l’aide de différents langages de programmation. Sans programmes, ton ordinateur serait inutile et son écran serait toujours noir. Les éléments de l’ordinateur constituent le matériel (hardware) et les programmes le logiciel (software). Les langages informatiques les plus populaires sont Visual Basic, C++ et Java. Qu’est-ce qui fait de Java un langage différent de beaucoup d’autres ?
Premièrement, le même programme Java peut tourner (fonctionner) sur différents ordinateurs, tels que PC, Apple et autres, sans modification. En fait, les programmes Java ne savent même pas où ils s’exécutent, car ils le font à l’intérieur d’une enveloppe logicielle spéciale appelée Machine Virtuelle Java, ou plus simplement Java. Si, par exemple, ton programme Java a besoin d’imprimer des messages, il demande à Java de le faire et Java sait comment se débrouiller avec ton imprimante.
Deuxièmement, Java permet de traduire facilement tes programmes (écrans, menus et messages) en différentes langues.
Troisièmement, Java te permet de créer des composants logiciels (classes) qui représentent les objets du monde réel. Par exemple, tu peux créer une classe Java nommée Voiture et lui donner des attributs tels que portes ou roues similaires à ceux d’une vraie voiture. Ensuite, à partir de cette classe, tu peux créer une autre classe, par exemple Ford, qui aura toutes les caractéristiques de la classe Voiture et d’autres que seules les Ford possèdent.
Quatrièmement, Java est plus puissant que beaucoup d’autres langages.
Cinquièmement, Java est gratuit ! Tu peux trouver sur Internet tout ce qu’il faut pour créer tes programmes Java sans débourser un euro !
Comment installer Java sur ton ordinateur
Pour pouvoir programmer en Java, tu as besoin de télécharger un logiciel spécial depuis le site web de la société Sun Microsystems, qui a créé ce langage. Le nom complet de ce logiciel est Java 2 Software Development Kit (J2SDK). A l’heure où j’écris ces lignes, la dernière version disponible, 1.5.0, peut être téléchargée depuis ce site :
Sélectionne la version (release) J2SE 1.5.0 ou la plus récente dans la rubrique Downloads, puis sur la page de téléchargement clique sur le lien Download JDK. Accepte le contrat de licence et sélectionne Windows Offline Installation (à moins que tu aies un ordinateur Macintosh, Linux ou Solaris). Dans l’écran suivant, clique sur le bouton Enregistrer puis choisis le répertoire de ton disque dur où tu souhaites enregistrer le fichier d’installation Java.
Une fois le téléchargement terminé, lance l’installation – double-clique simplement sur le fichier que tu as téléchargé pour installer J2SDK sur ton disque. Par exemple, sur une machine Windows, le programme d’installation créera un répertoire comme celui-ci :
c:\Program Files\java\j2sdk1.5.0_03, où c: est le nom de ton disque dur.
Si tu n’as pas assez de place sur ton disque c:, choisis-en un autre, sinon, contente-toi d’appuyer sur les boutons Next, Install et Finish dans les fenêtres qui s’affichent à l’écran. L’installation de Java sur ton ordinateur ne prendra que quelques minutes.
A l’étape suivante de l’installation, tu dois définir deux variables système. Dans Windows, par exemple, clique sur le bouton démarrer et ouvre le Panneau de configuration (il peut être caché derrière le menu Paramètres), puis double-clique sur l’icône Système. Sélectionne l’onglet Avancé et clique sur le bouton Variables d’environnement.
Voici à quoi ressemble cet écran sur mon ordinateur Windows XP :
La fenêtre suivante présente toutes les variables système qui existent déjà dans ton système.
Clique sur le bouton Nouveau en bas de la fenêtre et déclare la variable Path qui permettra à Windows (ou Unix) de trouver J2SDK sur ta machine. Vérifie bien le nom du répertoire où tu as installé Java. Si la variable Path existe déjà, clique sur le bouton Modifier et ajoute le nom complet du répertoire Java suivi d’un point-virgule au tout début de la boîte Valeur de la variable :
De même, déclare la variable CLASSPATH en entrant comme valeur un point suivi d’un point-virgule. Cette variable système permettra à Java de trouver tes programmes. Le point signifie que Java doit chercher tes programmes à partir du répertoire courant. Le point-virgule n’est qu’un séparateur :
L’installation de J2SDK est maintenant terminée !
Si tu as un vieil ordinateur Windows 98, tu dois positionner les variables PATH et CLASSPATH d’une autre manière.
Trouve le fichier sur ton disque c: et utilise le Bloc-notes ou un autre éditeur de texte pour entrer les bonnes valeurs de ces variables à la fin du fichier, comme ceci :
SET CLASSPATH=.;
SET PATH=c:\j2sdk1.5.0_03\bin;%PATH%
Après avoir effectué cette modification, il faut redémarrer ton ordinateur.
Les trois étapes principales de la programmation
Pour créer un programme Java qui marche, tu dois passer par les étapes suivantes :
Ecrire le programme en Java et l’enregistrer sur un disque.
Compiler le programme pour le traduire en un code binaire spécial compréhensible par Java.
Exécuter le programme.
Etape 1 – Tape le programme
Tu peux utiliser n’importe quel éditeur de texte pour écrire des programmes Java, par exemple le Bloc-notes.
Tout d’abord, tu dois taper le programme et l’enregistrer dans un fichier texte dont le nom se termine par .java. Par exemple, si tu veux écrire un programme appelé BonjourMonde, entre son texte (on appelle ça le code source) dans le Bloc-notes et enregistre-le dans un fichier que tu nommeras . Ne mets pas de blancs dans les noms de fichiers Java.
Voici le programme qui affiche les mots "Bonjour Monde" à l’écran :
J’expliquerai comment fonctionne ce programme un peu plus tard dans ce chapitre, mais pour l’instant fais-moi confiance – ce programme affichera les mots "Bonjour Monde" à l’étape 3.
Etape 2 – Compile le programme
Maintenant, tu dois compiler le programme. Tu vas utiliser le compilateur javac, qui est une partie de J2SDK.
Disons que tu as enregistré ton programme dans le répertoire c:\exercices.
Sélectionne les menus Démarrer, Exécuter, et entre le mot cmd pour ouvrir une fenêtre de commande.
Juste pour vérifier que tu as positionné correctement les variables système PATH et CLASSPATH, entre le mot set et jette un œil à leurs
valeurs.
Va dans le répertoire c:\exercices et compile le programme :
cd \exercices
javac
Tu n’es pas obligé de nommer le répertoire exercices – donne-lui le nom de ton choix.
Sous Windows 98, sélectionne Invite de commande MS DOS depuis le menu démarrer pour ouvrir une fenêtre DOS.
Le programme javac est le compilateur Java. Aucun message ne va te confirmer que ton programme BonjourMonde a bien été compilé. C’est le cas typique du "Pas de nouvelles, bonnes nouvelles". Tape la commande dir et tu verras la liste de tous les fichiers de ton répertoire. Tu devrais y trouver un nouveau fichier nommé BonjourMonde.class. Ca prouve que ton programme a bien été compilé. Ton fichier d’origine, , est là aussi, et tu pourras le modifier plus tard pour afficher "Bonjour Maman" ou autre chose.
S’il y a des erreurs de syntaxe dans ton programme, par exemple si tu as oublié la dernière accolade fermante, le compilateur Java affichera un message d’erreur. Il te faudra alors corriger l’erreur et recompiler le programme. S’il y a plusieurs erreurs, tu peux avoir besoin de répéter ces actions à plusieurs reprises avant d’obtenir le fichier
BonjourMonde.class.
Etape 3 – Exécute le programme
Maintenant, exécutons le programme. Dans la même fenêtre de commande, tape la commande suivante :
java BonjourMonde
As-tu remarqué que cette fois tu as utilisé le programme java au lieu de javac ? Ce programme est appelé Environnement d’exécution Java (Java Run-time Environment ou JRE), ou plus simplement Java comme je l’ai fait jusqu’ici.
N’oublie jamais que Java fait la différence entre les lettres minuscules et majuscules. Par exemple, si tu as nommé le programme BonjourMonde, avec un B majuscule et un M majuscule, n’essaie pas de lancer le programme bonjourmonde ou bonjourMonde – Java se plaindrait.
Maintenant amusons-nous un peu – essaie de deviner comment modifier ce programme. Je t’expliquerai comment fonctionne ce programme dans le prochain chapitre, mais tout de même, essaie de deviner comment le modifier pour qu’il dise bonjour à ton animal familier, ton ami ou qu’il affiche ton adresse. Suis les trois étapes pour voir si le programme fonctionne toujours après tes modifications ?.
Dans le prochain chapitre, je vais te montrer comment écrire, compiler et exécuter tes programmes dans un environnement plus sympa qu’un éditeur de texte et une fenêtre de commande.
Autres lectures
Pour créer ta première application :
Instructions d’installation de Java pour Windows :
Chapitre 2. Passage à Eclipse
Les programmeurs travaillent généralement dans ce qu’on
appelle un Environnement de développement intégré (Integrated Development Environment ou IDE). On peut y écrire, compiler et exécuter les programmes. Un IDE fournit aussi un utilitaire d’Aide qui décrit tous les éléments du langage et te permet de trouver et de corriger plus facilement les erreurs dans tes programmes. Alors que la plupart des IDE sont très chers, il en existe un excellent, gratuit : Eclipse. Tu peux le télécharger depuis le site web . Dans ce chapitre, je vais t’aider à télécharger et installer l’environnement de développement Eclipse sur ton ordinateur, puis à y créer le projet Bonjour Monde. Ensuite, nous créerons tous nos programmes dans cet environnement. Familiarise-toi avec Eclipse – c’est un outil excellent, utilisé par beaucoup de programmeurs Java.
Installation d’Eclipse
Ouvre la page web et clique sur le menu Download à gauche. Sélectionne ensuite la version d’Eclipse que tu souhaites télécharger. Il y a généralement la version officielle la plus récente (latest release) et plusieurs versions intermédiaires stables (stable builds). Ces dernières peuvent avoir plus de fonctionnalités, mais elles peuvent encore avoir quelques défauts mineurs. A l’heure où j’écris ces lignes, la dernière version officielle est la 3.0.2. Sélectionne-la pour obtenir la fenêtre suivante :
Clique sur le lien de téléchargement correspondant à ton système et enregistre le fichier avec ce nom si long terminé par .zip dans le répertoire de ton choix sur ton disque.
Tu n’as plus qu’à décompresser ce fichier sur ton disque. Si le programme WinZip est déjà installé sur ton ordinateur, clique sur le fichier avec le bouton droit de la souris et sélectionne WinZip dans le menu contextuel, puis l’option Extraire vers. Si tu as de la place sur ton disque c:, appuie sur le bouton Extraire, sinon sélectionne un autre disque avec plus d’espace disponible.
Les fichiers avec l’extension .zip sont des archives contenant de nombreux fichiers compressés. Décompresser le fichier signifie extraire le contenu de cette archive sur le disque. Le programme d’archivage le plus populaire est WinZip. Tu peux en télécharger une version d’évaluation à l’adresse suivante :
Tu en auras besoin pour terminer l’installation d’Eclipse.
L’installation d’Eclipse est terminée !
Pour que ce soit plus pratique pour toi, crée un raccourci vers Eclipse. Clique avec le bouton droit de la souris sur le bureau, puis clique sur Nouveau, Raccourci, Parcourir et sélectionne le fichier dans le répertoire c:\eclipse.
Pour lancer le programme, double-clique sur l’icône bleue d’Eclipse, et tu verras le premier écran de bienvenue (cet écran peut changer légèrement selon les versions d’Eclipse) :
Complète le nom du plan de travail dans la rubrique Espace de travail. Par exemple, c:\eclipse\plan de travail. Clique sur le bouton OK.
Clique sur la flèche en haut à droite pour afficher ton plan de travail, qui doit ressembler à l’écran suivant :
Démarrer avec Eclipse
Dans cette section, je vais te montrer comment créer et exécuter rapidement des programmes Java dans Eclipse. Tu trouveras aussi un didacticiel sympa en passant par le menu Aide, Table des matières de l'aide, puis Développement Java – Guide de l'utilisateur.
Pour commencer à travailler sur un programme, tu dois créer un nouveau projet. Un projet simple comme notre BonjourMonde ne contiendra qu’un fichier – . Mais très vite nous allons créer des projets plus élaborés qui contiendront plusieurs fichiers.
Pour créer un nouveau projet dans Eclipse, clique simplement sur les menus Fichier, Nouveau, Projet, Projet Java, et clique sur le bouton Suivant dans la fenêtre Nouveau projet. Tu dois maintenant entrer le nom de ton nouveau projet, par exemple Mon Premier Projet:
Regarde la boîte grisée nommée Répertoire. Elle t’indique où seront enregistrés les fichiers de ce projet. Eclipse utilise un répertoire spécial appelé plan de travail (workspace), où seront stockés tous les fichiers de tes projets. Plus tard, tu créeras des projets distincts pour une calculatrice, un jeu de morpion et d’autres programmes. Il y aura plusieurs projets dans le plan de travail avant la fin de ce livre.
Un plan de travail Eclipse contient plusieurs aires plus petites, appelées perspectives, qui constituent différentes vues de tes projets. Si Eclipse te le demande, accepte de passer en perspective Java.
Si tu cliques sur le petit signe plus devant Mon Premier Projet, tu verras plus de détails. Pour l’instant, il doit y avoir la ligne Bibliothèque système JRE (jdk1.5.0_03), qui constitue une partie du projet. Si ce n’est pas le cas, clique sur les menus Fenêtre, Préférences, Java, JRE installés, Ajouter, puis, à l’aide du bouton Parcourir, trouve le répertoire où tu as installé Java, par exemple c:\Program Files\java\j2sdk1.5.0_03.
Création de programmes dans Eclipse
Recréons dans Eclipse le programme BonjourMonde du chapitre 1. Les programmes Java sont des classes qui représentent des objets de la vie réelle. Tu vas en apprendre un peu plus sur les classes dans le prochain chapitre.
Pour créer une classe dans Eclipse, sélectionne les menus Fichier, Nouveau, Classe et saisis BonjourMonde dans le champ Nom. Ensuite, dans la section Quels raccords de méthodes voulez-vous créer ?, coche la
case :
public static void main(String[] args)
Clique sur le bouton Fin et tu verras que Eclipse a créé pour toi la classe BonjourMonde. Des commentaires de programme (le texte entre /* et */) ont été générés et placés en haut - tu devrais les modifier pour décrire ta classe. A la suite des commentaires, tu trouveras le code de la classe BonjourMonde avec une méthode (method) main() vide. Le mot méthode signifie action. Pour exécuter une classe Java comme un programme, cette classe doit posséder une méthode nommée main().
Pour terminer notre programme, place le curseur après l’accolade de la ligne qui contient main, appuie sur la touche Entrée et tape la ligne suivante :
.println("Bonjour Monde");
Pour enregistrer le programme sur le disque et le compiler, appuie simultanément sur deux touches de ton clavier : Ctrl-S. Si tu n’as pas fait d’erreur de syntaxe, tu ne verras aucun message – le programme est compilé. Mais faisons une erreur volontairement pour voir ce qui va arriver. Supprime la dernière accolade et appuie à nouveau sur Ctrl-S. Eclipse affiche alors Erreur de syntaxe dans la vue des Erreurs et affiche une marque rouge au début de la ligne qui pose problème.
Lorsque tes projets sont plus importants, ils contiennent plusieurs fichiers et le compilateur peut générer plus d’une erreur. Tu peux rapidement trouver (mais pas corriger) les lignes problématiques en double-cliquant sur le message d’erreur dans la vue des erreurs. Remettons l’accolade et appuyons à nouveau sur Ctrl-S – voilà, le message d’erreur a disparu !
Exécution de BonjourMonde dans Eclipse
Notre petit programme est un projet constitué d’une seule classe. Mais bientôt tes projets contiendront plusieurs classes Java. C’est pourquoi, avant d’exécuter un projet pour la première fois, tu dois dire à Eclipse quelle est la classe principale de ce projet.
Sélectionne le menu Exécuter, puis Exécuter.... Assure-toi que la ligne Application Java est bien sélectionnée dans le coin en haut à gauche, puis clique sur Créer. Eclipse initialise pour toi les noms du projet et de la classe principale :
Appuie maintenant sur le bouton Exécuter pour lancer le programme. Les mots "Bonjour Monde" seront affichés dans la vue Console comme ils l’étaient au chapitre 1.
Tu peux désormais exécuter ce projet en passant par les menus Exécuter, Exécuter le dernier lancement ou en appuyant sur les touches Ctrl-F11 du clavier.
Comment fonctionneBonjourMonde?
Voyons ce qui se passe réellement dans le programme BonjourMonde.
La classe BonjourMonde ne possède qu’une méthode main(), qui est le point d’entrée d’une application (programme) Java. On peut dire que main est une méthode parce qu’il y a des parenthèses après le mot main. Les méthodes peuvent appeler (call), c’est-à-dire utiliser, d’autres méthodes. Par exemple, notre méthode main() appelle la méthode println() pour afficher le texte "Bonjour Monde" à l’écran.
Toutes les méthodes commencent par une ligne de déclaration appelée
signature de la méthode :
publicstaticvoid main(String[] args)
Cette signature nous donne les informations suivantes :
Qui a accès à la méthode - public. Le mot-clé publicsignifie que la méthode main()peut être utilisée par n’importe quelle autre classe Java ou par Java lui-même.
Comment utiliser la méthode - static. Le mot-clé static signifie qu’il n’est pas nécessaire de créer une instance (une copie) de l’objet BonjourMonde en mémoire pour pouvoir utiliser cette méthode. Nous reviendrons sur les instances de classe dans le prochain chapitre.
La méthode retourne-t-elle des données ? Le mot-clévoid signifie que la méthode main() ne retourne aucune donnée au programme appelant, qui en l’occurrence est Eclipse. Mais si on prenait l’exemple d’une méthode effectuant des calculs, celle-ci pourrait retourner un résultat à son appelant.
Le nom de la méthode est main.
La liste des arguments – des données qui peuvent être fournies à la méthode – String[] args. Dans la méthode main(), String[] args signifie que la méthode peut recevoir un tableau (array) de chaînes de caractères (String) qui représentent du texte. Les valeurs qui sont passées à la méthode sont appelées arguments.
Comme je l’ai déjà dit, un programme peut être constitué de plusieurs classes, mais l’une d’entre elles possède la méthode main(). Les classes Java ont en général plusieurs méthodes. Par exemple, une classe Jeu pourrait avoir les méthodes démarrerJeu(), arrêterJeu(), lireScore() et ainsi de suite.
Le corps de notre méthode main()ne contient qu’une ligne :
.println("Bonjour Monde");
Chaque instruction ou appel de méthode doit se terminer par un pointvirgule ;. La méthode println()sait comment afficher des données sur la console système (fenêtre de commande). Les noms de méthodes Java sont toujours suivis par des parenthèses. S’il n’y a rien entre les parenthèses, cela signifie que la méthode ne prend pas d’arguments.
L’expression System.outsignifie que la variable out est définie à l’intérieur de la classe System fournie avec Java. Comment es-tu sensé savoir qu’il existe quelque chose nommé out dans la classe System ?
Eclipse va t’y aider. Dès que tu as tapé le mot System suivi d’un point, Eclipse te propose automatiquement tout ce qui est disponible dans cette classe. Et à tout moment tu peux placer le curseur après le point et appuyer sur Ctrl-Espace pour afficher une fenêtre d’aide de ce genre :
L’expression out.println() indique que la variable out représente un objet et que ce "quelque chose nommé out" possède une méthode nommée println(). Le point entre la classe et le nom de la méthode signifie que la méthode existe à l’intérieur de la classe. Mettons que tu aies une classe JeuPingPong qui possède la méthode sauverScore(). Voilà comment tu peux appeler cette méthode pour Dave qui a gagné trois parties :
JeuPingPong.sauverScore("Dave", 3);
Encore une fois, les données entre les parenthèses sont appelées arguments, ou paramètres. Ces paramètres sont fournis à une méthode pour être utilisés dans un traitement, par exemple pour enregistrer des données sur le disque. La méthode sauverScore() a deux arguments – la chaîne de caractères "Dave" et le nombre 3.
Eclipse rend amusante l’écriture des programmes Java. L’annexe B présente quelques trucs et astuces utiles pour booster ta programmation Java dans cet excellent environnement de développement.
Autres lectures
Site web Eclipse :
Exercices
Modifie la classe BonjourMonde pour qu’elle affiche ton adresse, en utilisant plusieurs appels à la méthode println().
Exercices pour les petits malins
Chapitre 3. Animaux familiers et poissons – Classes Java
Les programmes Java sont constitués de classesqui
représentent des objets du monde réel. Même si chaque personne écrit des programmes à sa façon, presque tout le monde est d’accord pour reconnaître que la meilleure façon de le faire est d’employer le style dit orienté objet. Cela signifie que les bons programmeurs commencent par décider quels objets doivent être inclus dans le programme et quelles classes Java vont les représenter. Ce n’est qu’une fois cette étape menée à bien qu’ils commencent à écrire du code Java.
Classes et Objets
Créons et discutons une classe nommée JeuVidéo. Cette classe peut avoir plusieurs méthodes, qui représentent les actions que les objets de cette classe peuvent effectuer : démarrer le jeu, l’arrêter, enregistrer le score, etc. Cette classe peut aussi posséder des attributs ou propriétés : prix, couleur de l’écran, nombre de télécommandes et autres.
En langage Java, cette classe pourrait ressembler à ceci :
Notre classe JeuVidéo est sans doute similaire aux autres classes qui représentent des jeux vidéo – ceux-ci ont tous des écrans de taille et de couleur différentes, effectuent des actions similaires et coûtent de l’argent.
Nous pouvons être plus spécifiques et créer une autre classe Java, nommée GameBoyAdvance. Elle appartient aussi à la famille des jeux vidéo, mais possède certaines propriétés spécifiques au modèle GameBoy Advance, par exemple un type de cartouche.
Dans cet exemple, la classe GameBoyAdvance définit deux attributs – typeCartouche et largeurEcran – et deux méthodes – démarrerJeu et arrêterJeu. Mais, pour l’instant, ces méthodes ne peuvent effectuer aucune action, parce qu’il n’y a pas de code Java entre leurs accolades.
Après le mot classe, tu dois maintenant t’habituer à la nouvelle signification du mot objet.
La phrase "créer une instance d’un objet" signifie créer une copie de cet objet dans la mémoire de l’ordinateur en respectant la définition de sa classe.
Un plan de fabrication de la GameBoy Advance correspond à une console réelle de la même façon qu’une classe Java correspond à l’une de ses instances en mémoire. Le processus de fabrication des consoles réelles d’après ce plan est similaire au processus de création d’instances d’objets GameBoyAdvance en Java.
La plupart du temps, un programme ne pourra utiliser une classe Java qu’après qu’une instance en ait été créée. De même, les fabricants créent des milliers de copies d’une console de jeu à partir d’une même description. Bien que ces copies représentent la même classe, leurs attributs peuvent avoir des valeurs différentes – certaines sont bleues alors que d’autres sont argentées, et ainsi de suite. En d’autres termes, un programme peut créer de multiples instances d’objets
GameBoyAdvance.
Types de données
Les variables Java peuvent représenter les attributs d’une classe, les arguments d’une méthode ou être utilisées à l’intérieur d’une méthode pour stocker temporairement certaines données. Les variables doivent être déclarées avant de pouvoir être utilisées.
Te souviens-tu d’équations telles que y = x + 2 ? En Java, tu dois déclarer les variables x et y en précisant qu’elles appartiennent à un type de données numérique tel que int ou double :
int x; int y;
Les deux lignes suivantes montrent comment tu peux affecter une valeur à ces variables. Si ton programme donne la valeur 5 à la variable x, la variable y sera égale à 7 :
x = 5; y = x + 2;
En Java, tu peux aussi changer la valeur d’une variable d’une façon assez inhabituelle. Les deux lignes suivantes modifient la valeur de la variable y, qui passe de 5 à 6 :
int y = 5;
y++;
Bien qu’il y ait deux signes plus, Java va tout de même incrémenter la valeur de la variable y de 1.
Après le fragment de code suivant, la valeur de la variable monScore est aussi 6 :
int monScore = 5;
monScore = monScore + 1;
On peut utiliser de la même manière la multiplication, la division et la soustraction. Regarde l’extrait de code suivant :
int monScore = 10;
monScore--; monScore = monScore * 2; monScore = monScore / 3;
.println("Mon score est " + monScore);
Qu’imprime ce code ? Eclipse a une fonctionnalité bien pratique appelée page de testeur de code, qui permet de tester rapidement n’importe quel bout de code (comme le précédent) sans même créer une classe. Sélectionne le menu Fichier, Nouveau, Autre…, puis Java, Exécution/Débogage Java, Page de testeur de code et entre le mot Test comme nom de ta page.
Entre maintenant dans la page ces cinq lignes de code utilisant monScore, sélectionne-les et clique sur la petite flèche verte accompagnée d’un J dans la barre d’outils.
Pour voir le résultat des calculs, clique simplement sur l’onglet Console en bas de l’écran :
Mon score est 6
Dans cet exemple, l’argument de la méthode println() a été fabriqué en accolant deux morceaux – le texte "Mon score est " et la valeur de la variable monScore, c’est-à-dire 6. On appelle concaténation la création d’une chaîne de caractères (String) à partir de morceaux. Bien que monScore soit un nombre, Java est suffisamment malin pour convertir cette variable en String puis l’accoler au texte "Mon score est ".
Voyons d’autres façons de modifier les valeurs des variables :
monScore = monScore * 2; est équivalent à monScore *= 2; monScore = monScore + 2; est équivalent à monScore += 2; monScore = monScore - 2; est équivalent à monScore -= 2; monScore = monScore / 2; est équivalent à monScore /= 2;
Il y a huit types de données simples, ou primaires en Java, et tu dois décider lequel utiliser en fonction du type et de la taille des données que tu as l’intention de stocker dans chaque variable :
Quatre types de données pour les valeurs entières – byte, short, int et long.
Deux types de données pour les valeurs décimales – float et double.
Un type de données qui permet de stocker un caractère isolé
– char.