Vous êtes sur la page 1sur 207

INITIATION AU

LANGAGE JAVA
Par Monsieur Bienvenu KOMBILA

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 1


www.kombins.ga

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 2


INTRODUCTION

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 3


INTRODUCTION
 Le langage est un outil offrant la capacité
d’exprimer une pensée et de communiquer au
moyen d’un système de signes conventionnels
(vocaux, gestuel, textuel, graphiques, tactiles,
olfactifs, etc.).

 Ce système de signes conventionnels est doté


d’une sémantique, et le plus souvent d’une syntaxe
et constitue un mécanisme de communication.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 4
INTRODUCTION
 Un algorithme est une suite finie et non-ambiguë
d’opérations ou d’instructions permettant de
résoudre un problème en un temps fini.

 On peut également voir un algorithme comme


étant un processus systématique de résolution d’un
problème en permettant de décrire chacune des
étapes menant vers le résultat du problème posé.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 5
INTRODUCTION
 L’algorithmique est l’ensemble des règles et des
techniques qui sont impliquées dans la définition et
la conception d’algorithmes.

 Après la phase de conception et de définition des


algorithmes, nous allons maintenant passer à la
phase suivante qui est la phase de
programmation.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 6
INTRODUCTION
 Il s’agira dans cette phase, de traduire tous les
algorithmes obtenus dans la phase précédente
(algorithmique) dans un langage de
programmation informatique.

 Dans le domaine de l’informatique, la


programmation est l’ensemble des activités qui
permettent l’écriture des programmes
informatiques.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 7
INTRODUCTION
 La phase de programmation est une étape
importante du développement de logiciels et pour
créer un programme informatique, on utilise un
langage de programmation informatique.

 En informatique, un langage de programmation


est une notation conventionnelle destinée à
reformuler des algorithmes et produire des
programmes informatiques qui les appliquent
(les implémentent).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 8
INTRODUCTION
 D’une manière similaire à un langage naturel, un
langage de programmation informatique est
composé d’un alphabet, d’un vocabulaire, de
règles de grammaire et de significations.

 Sachez que par définition un langage


informatique est différent du langage
machine, il faut donc le traduire pour le rendre
intelligible du point de vue du processeur.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 9
INTRODUCTION
 Pour obtenir un programme informatique, il faudra
d’abord traduire son algorithme dans un langage
de programmation informatique donnée.

 Le texte obtenu à l’issu de la traduction d’un


algorithme en langage de programmation
informatique est appelé « code source de
programme ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 10
INTRODUCTION
 Un code source de programme est donc le
texte obtenu à l’issue de la traduction d’un
algorithme dans un langage de
programmation informatique.

 Le code source subit alors par la suite une


transformation ou une évaluation dans une
forme exploitable par la machine, ce qui permet
d’obtenir par la suite le programme informatique.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 11
INTRODUCTION
 Le programme en tant que tel ne sera obtenu qu’à
l’issue de la transformation ou l’évaluation de ce
code source via une opération spécifique et la
nature de cette opération spécifique dépendra du
type de langage utilisé.

 On pourra en effet, avoir recours soit à une


compilation du code source, soit à une
interprétation du code source voire même une
combinaison des deux (compilation +
interprétation).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 12
INTRODUCTION
 Une compilation est une opération réalisée par un
programme appelé « compilateur » et au cours de
laquelle un code source de programme est analysé
puis transformé ensuite le résultat est la génération
d’un fichier dit « exécutable » pour l’utilisateur.

 Une interprétation est une opération réalisée par


un programme appelé « interpréteur » et au cours
de laquelle un code source de programme est
analysé puis interpréter et le résultat obtenu est
affiché à l’utilisateur.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 13
INTRODUCTION
 Les langages informatiques peuvent généralement
se classer en trois catégories, à savoir :
➢ les langages interprétés
➢ et les langages compilés
➢ les langages intermédiaires.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 14


INTRODUCTION
 Un programme écrit dans un langage interprété a
besoin d’un logiciel auxiliaire appelé
« interpréteur » pour traduire au fur et à mesure
les instructions du code source de ce programme.

 Les langages interprétés les plus répandus sont le


HTML, le XML, le JavaScript ou encore le PHP et
le logiciel auxiliaire servant d’interpréteur est le
navigateur web.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 15
INTRODUCTION
 Un programme écrit dans un langage compilé va
être traduit une fois pour toutes par un programme
annexe, appelé « compilateur », afin de générer
un nouveau fichier qui sera autonome, c’est-à-dire
qui n’aura plus besoin d’un programme autre que
lui-même pour s’exécuter.

 Sachez d’ailleurs que ce fichier exécutable est


souvent appelé « Setup » sous MS Windows.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 16
INTRODUCTION
 Un programme écrit dans un langage compilé a
comme avantage de ne plus avoir besoin, une fois
compilé, de programme annexe pour s’exécuter.

 De plus, la traduction étant faite une fois pour


toute, il est plus rapide à l’exécution. Toutefois un
programme compilé est moins souple qu’un
programme écrit avec un langage interprété.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 17
INTRODUCTION
 En effet, à chaque modification du fichier
contenant le code source (c’est-à-dire le fichier
intelligible par l’humain) il faudra à nouveau
effectuer l’opération de compilation du code
source du programme pour que les modifications
prennent effet.

 On distingue une catégorie intermédiaire de


langages informatiques.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 18
INTRODUCTION
 En effet, certains langages appartiennent en
quelque sorte aux deux catégories (comme LISP,
Java, Python, etc.) car le programme écrit avec ces
langages peut dans certaines conditions subir une
phase de compilation intermédiaire vers un fichier
écrit dans un langage qui n’est pas intelligible
(donc qui est différent du fichier source) et non
exécutable (donc nécessité d’un interpréteur).

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 19


INTRODUCTION
 Par exemple :
✓ Les applets Java, qui sont des codes sources de
petits programmes écrits en langage Java et
destinés à être incorporés à des pages web.
✓ Les applets Java sont par nature des fichiers qui
sont compilés mais que l’on ne peut exécuter
qu’à partir d’un navigateur web.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 20


INTRODUCTION
 Un programme est une succession d’instructions
exécutables par l’ordinateur et une instruction est
une opération élémentaire au sein d’un algorithme
ou au sein d’un code source de programme.

 Un logiciel est un ensemble (regroupement) de


programmes permettant de réaliser des tâches
données et cet ensemble de programmes forme un
nouveau grand programme.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 21
INTRODUCTION
 La programmation représente donc l’activité de
rédaction du ou des code source d’un logiciel
(ensemble de programmes).

 On utilise plutôt le terme « développement » pour


dénoter l’ensemble des activités liées à la
création d’un logiciel et des programmes
informatiques qui le composent.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 22
INTRODUCTION
 On distingue principalement, deux types de
logiciels, à savoir : les « logiciels applicatifs » et
les « logiciels systèmes ».

 Aussi appelé application, le logiciel applicatif est


un logiciel directement utilisé par l’utilisateur pour
réaliser une tâche ou un ensemble de tâches
élémentaires d’un même domaine.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 23
INTRODUCTION
 Le logiciel applicatif est destiné à interagir
directement avec l’utilisateur en lui permettant
d’utiliser un ou plusieurs périphériques de son
ordinateur à travers un ensemble de fonctionnalités
associées.

 Les logiciels systèmes constituent la catégorie de


logiciels qui interagissent directement avec le
matériel informatique (hardware).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 24
INTRODUCTION
 Comme logiciels systèmes nous pouvons citer les
logiciels « pilotes informatiques » et les logiciels
« systèmes d’exploitation ».

 Un logiciel pilote est constitué d’un ensemble de


programmes informatiques destiné à permettre à
un autre programme (souvent le système
d’exploitation) de reconnaitre puis interagir avec
un périphérique donné.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 25
INTRODUCTION
 Un logiciel Système d’Exploitation est le logiciel
central au sein de tout appareil électronique et/ou
informatique, qui se place comme interface entre le
matériel et les logiciels applicatifs.

 Un Système d’Exploitation a pour rôle de gérer


la mémoire, les accès aux périphériques, les
données sur les disques, les programmes, la
sécurité et la collecte des informations.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 26
INTRODUCTION
 Le Système d’Exploitation prend en charge la
programmation des périphériques matériels, puis
en coordonne et optimise l’utilisation.

 Le Système d’Exploitation propose aux logiciels


applicatifs des interfaces de programmation
standardisées qui simplifient l’utilisation des
matériels.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 27
INTRODUCTION
Objectifs du cours
 Ce cours est la suite logique du cours sur les
« Techniques Elémentaires et Fondamentales de
Programmation Informatique (Algorithmique) »
et a pour objectifs d’apprendre aux étudiants :
➢ dans un premier temps les bases de la
programmation en langage JAVA.
➢ et dans un second temps les bases de la
Programmation Orientée Objet, Graphique et
évènementielle en langage JAVA.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 28
LES BASES DE JAVA

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 29


LES BASES DE JAVA
Définitions
 En programmation informatique, un « IDE » (pour
Integrated Development Environment) est un
Environnement de Développement Intégré.

 Un Environnement de Développement Intégré


est constitué par un ensemble d’outils pour
augmenter la productivité des programmeurs qui
développent des logiciels.
Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 30
LES BASES DE JAVA
Définitions
 Un Environnement de Développement Intégré
comporte un éditeur de texte (code) destiné à la
programmation, des fonctions qui permettent, par
pression sur un bouton, de démarrer le compilateur
ou l’éditeur de liens ainsi qu’un débogueur en ligne,
qui permet d’exécuter ligne par ligne le code source
du programme en cours de construction.

Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 31


LES BASES DE JAVA
Définitions
 Certains Environnement de Développement
Intégré sont dédiés à un langage de programmation
particulier et nous travaillerons dans ce cours avec
« Eclipse Pour JAVA » pour nos travaux pratiques.

 Le langage de programmation est l’intermédiaire


entre l’humain et la machine, il permet d’écrire
dans un langage proche de la machine mais
intelligible par l’humain des opérations que
l’ordinateur doit effectuer.
Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 32
LES BASES DE JAVA
L’Analyse
 Avant de vous lancer à corps perdu dans l’écriture
d’un code source de programme en langage JAVA, je
vous recommande faire une analyse sérieuse du
problème posé.

 Il s’agit de fournir la solution à un problème, la


première étape consiste donc à analyser le problème,
c’est-à-dire en cerner les limites et le mettre en forme
dans un langage descriptif.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 33
LES BASES DE JAVA
L’Analyse
 Le langage descriptif qui sera utilisé dans ce cours
pour écrire le résultat de l’analyse sera appelé langage
JAVA.

 Le langage JAVA sera l’intermédiaire entre nous les


humains et l’ordinateur, il nous permettra d’écrire
dans un langage proche de la machine mais
intelligible par l’homme des opérations que
l’ordinateur doit effectuer.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 34
LES BASES DE JAVA
L’Analyse
 J’ai personnellement initier les étapes suivantes afin
de vous aider à mieux et bien concevoir vos codes
sources de programmes.

 La méthode que je vous propose, repose en cinq (5)


phases qui sont détaillées dans les slides suivants :

Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 35


LES BASES DE JAVA
L’Analyse
 Phase 1 : Bien lire l’énoncé pour bien et mieux le
comprendre et ainsi cerner la problématique.

 Phase 2 : Considérer que le programme marche déjà


correctement, ensuite effectuer une simulation de son
exécution aussi bien côté utilisateur que côté système.

Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 36


LES BASES DE JAVA
L’Analyse
 Phase 3 : Lors de la simulation de l’exécution du
programme, on doit décrire chacune des étapes de
l’exécution de manière simple, claire, précise et sans
ambiguïté aucune.

 Phase 4 : Pour chacune des étapes décrites en


« Phase 3 », écrire le code source des instructions de
programme permettant de la réaliser (l’étape) sans
oublier de clairement identifier la ou les variables,
constantes, énumérations ou autres enregistrements
qui pourraient bien y intervenir.
Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 37
LES BASES DE JAVA
L’Analyse
 Phase 5 : Enfin organiser l’ensemble des instructions
obtenues à l’issue de la phase 4, afin d’avoir un code
source de programme cohérent, concis, précis sans
ambigüité et donc correcte.

 L’étape suivante consiste à compiler ou à interpréter


(voire les deux), le code source afin d’obtenir le
programme voulu.
Initiation au Langage C - Par Monsieur Bienvenu KOMBILA 38
LES BASES DE JAVA
Structure d’un code source JAVA
 L’écriture du code source d’un programme est une
opération complexe qui requiert de nombreuses
étapes, le plus important est de comprendre
l’objectif final et de le respecter jusqu’au bout.

 Pour cela, il est souvent préférable de décomposer le


traitement souhaité en une succession d’opérations
plus petites et plus simples afin de voir plus claire et
de ne rien oublier.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 39
LES BASES DE JAVA
Structure d’un code source JAVA
 Un code source du programme sera constitué par la
suite de ces opérations élémentaires, elles devront
donc être décrites avec précision et dans un ordre
cohérent.

 Pour pouvoir représenter cette suite d’opérations,


nous allons introduire une présentation bien précise
en utilisant le langage de programmation
informatique appelé « JAVA ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 40
LES BASES DE JAVA
Structure d’un code source JAVA
 Sachez qu’un bon programme, dans des conditions
d’exécution similaires (avec des données identiques)
doit toujours fournir le même résultat.

 Notez également qu’un programme est correct


lorsque pour chaque instance de son exécution, il se
termine toujours en produisant la bonne sortie, c’est-
à-dire qu’il résout le problème posé.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 41
LES BASES DE JAVA
Structure d’un code source JAVA
 Pour débuter en JAVA, il faut principalement essayer,
prendre le temps de comprendre les bases de ce
langage avant de passer à des choses plus évoluées.

 Il est également important de prévoir un découpage


simple lorsque l’on souhaite réaliser une
fonctionnalité complexe, pour avoir d’une part une
meilleure lisibilité et maintenabilité du code, mais
aussi pour détecter plus rapidement des erreurs
éventuelles.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 42
LES BASES DE JAVA
Structure d’un code source JAVA
 Voici ci-dessous la structure d’un programme en
langage de programmation JAVA :

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 43


LES BASES DE JAVA
Structure d’un code source JAVA
 Chaque ligne d’un code source de programme JAVA
doit comporter une seule instruction et son exécution
correspond à la réalisation de toutes ces instructions,
ligne après ligne, de la première à la dernière, dans cet
ordre.

 Une instruction est une opération élémentaire au


sein d’un algorithme ou au sein d’un code source de
programme et se termine toujours par le symbole
« Point Virgule » en langage JAVA.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 44
LES BASES DE JAVA
Structure d’un code source JAVA
 Une Méthode est une portion de code autonome
(ensemble d’instructions autonome) permettant de
réaliser un traitement bien précis au sein d’un
algorithme ou au sein d’un code source de
programme informatique.
➢ Une « Fonction » est une méthode qui renvoie au
moins une valeur à l’issue de son exécution
➢ Une « Procédure » est une méthode qui ne renvoie
pas de valeurs à l’issue de son exécution.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 45
LES BASES DE JAVA
Structure d’un code source JAVA
 Nous remarquons que dans la structure de base d’un
programme JAVA, le code source du programme
principal s’écrit dans une méthode qui s’appelle
« main » et qui est de type « static ».

 Le mot clé « void » en JAVA indique que la méthode


« main » ne renvoie pas de valeur et donc par
conséquent : c’est une procédure.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 46
LES BASES DE JAVA
Structure d’un code source JAVA
 La procédure « main » se trouve dans la racine d’une
classe, c’est pourquoi un modificateur d’accès
(public) est spécifié tout au début de sa déclaration.

 Sachez qu’il existe en langage de programmation


JAVA trois types de modificateurs d’accès, à savoir
« Public », « Private » et « Protected ».

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 47


LES BASES DE JAVA
Structure d’un code source JAVA
 Ces modificateurs d’accès peuvent être utilisés pour
définir les attributs de visibilité des entités classes,
méthodes et attributs (variables de classe).

 L’utilisation des modificateurs d’accès permet de


définir des niveaux de protection différents, pour
les variables de classe.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 48


LES BASES DE JAVA
Structure d’un code source JAVA
 Les modificateurs d’accès peuvent être placés avant
ou après le type de l’objet « mais la convention veut
qu’ils soient placés avant » et ils ne s’appliquent
qu’aux classes et/ou aux méthodes et/ou aux
attributs.

 De nombreux langages orientés objet introduisent


des attributs de visibilité (modificateur d’accès) pour
règlementer l’accès aux classes, aux objets, aux
méthodes et aux données.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 49
LES BASES DE JAVA
Structure d’un code source JAVA
Modificateurs Description modificateurs d’accès
d’accès
PUBLIC Une variable, une méthode ou une classe déclarée
« public » est visible par tous les autres objets du
projet.
Une variable, une méthode ou une classe déclarée
PRIVATE « private » ne sera visible qu'à l'intérieur de la classe
seulement.
Si une méthode ou une variable est déclarée
PROTECTED « protected », seules les méthodes présentes dans le
même package (dossier) que cette classe ou ses sous
classes pourront y accéder.
PAR DEFAUT : Le niveau « package friendly » est le niveau par défaut
PACKAGE FRIENDLY lorsqu'aucun modificateur n'est pas précisé et il n'existe
Initiation JAVA - Par Monsieur Bienvenu KOMBILA pas de mot clé pour définir ce niveau. 50
LES BASES DE JAVA
Structure d’un code source JAVA
 Le mot clé « void » en JAVA indique que la méthode
« main » n’agit pas sur des variables d’instance mais
uniquement sur des variables de classe.

 Sachez que le mot clé « static » ne s’applique qu’aux


variables et aux méthodes et qu’une méthode déclarée
de type « static » peut être utilisées sans instancier un
objet de la classe, c’est-à-dire sans avoir besoin d’un
exemple d’objet de cette classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 51
LES BASES DE JAVA
JAVA : Les données
 La plupart des problèmes nécessitent le traitement de
valeurs, certaines sont données dans l’énoncé, et
d’autres sont le résultat des calculs issus de
l’exécution du programme.

 Pour pouvoir être manipulées, ces valeurs doivent


préalablement être stockées en mémoire et nous
utiliseront des éléments appelés « variables » pour
stocker ces valeurs.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 52
LES BASES DE JAVA
JAVA : Les données
 Une variable est un identificateur désignant un
emplacement mémoire qui permet de stocker une
valeur ou une donnée pouvant varier ou non au cours
de l’exécution d’un programme.

 Une variable est définie par :


➢ un nom unique ;
➢ un type de définition ;
➢ et une valeur.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 53
LES BASES DE JAVA
JAVA : Les données
 Le nom de la variable permet de la désigner et de
l’identifier de manière unique dans un code source de
programme.
 Le type de définition de la variable précise son
domaine de définition, c’est à dire l’ensemble des
valeurs que la variable est sensée prendre.
 La valeur de la variable est une donnée qui lui est
attribuée et/ou modifiée au cours de l’exécution du
programme.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 54
LES BASES DE JAVA
JAVA : Les données
 Les variables utilisées au cours de l’exécution d’un
programme JAVA sont déclarées directement au sein
du « main », il n’y a pas de zone spécifique pour
déclarer les variables.

 Pour cela, il suffit d’indiquer, le « modificateur


d’accès de la variable », suivi du « type de la
variable », puis du « nom de la variable » et enfin
d’un « point-virgule » à la fin « ; ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 55
LES BASES DE JAVA
JAVA : Les données
 Notez bien que toutes les variables qui seront
déclarée dans le bloc « main » ne seront pas des
variables de classe et donc ne pourront être déclarées
avec un modificateur d’accès.

 Inversement, toutes les variables qui seront déclarées


en dehors de la procédure « main », mais au sein la
classe (précisément au niveau de sa racine) devront
avoir un modificateur d’accès précisé au début de leur
déclaration.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 56
LES BASES DE JAVA
JAVA : Les données
 Le nom d’une variable commence obligatoirement
par une lettre et peut être constitué de lettres, de
chiffres ou du caractère souligné et les mots clés du
langage JAVA ne doivent pas être utilisés comme
noms de variables.

 Je vous exige de toujours préalablement déclarer


une variable avant de l’utiliser dans votre code
source de programme JAVA.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 57
LES BASES DE JAVA
JAVA : Les données
 Le type d’une variable aussi appelé domaine de
définition de la variable indique l’ensemble des
valeurs que la variable peut prendre et le type d’une
variable définit la façon dont elle est représentée en
mémoire.

 Le JAVA est un langage typé et cela signifie en


particulier que toute variable, constante ou fonction
est forcément d’un type bien précis.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 58
LES BASES DE JAVA
JAVA : Les données
 Les variables peuvent appartenir à plusieurs domaines
(entier, réel, caractère et booléen), chacun étant
associé à des opérations bien spécifiques et en
langage JAVA on distingue plusieurs types de
variables parmi lesquels on peut citer :
➢ les types numériques entiers (signés et non signés) ;
➢ les types numériques flottants (décimaux,
rationnels et réels);
➢ les types caractère et chaine de caractères ;
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 59
LES BASES DE JAVA
JAVA : Les données
 Le type « entier » sera désormais désigné par les mot-
clefs (1) :
➢ « byte » qui lui est codé sur un octet (1o) et peut
contenir les entiers entre -128 et +127.
➢ « short » qui lui est codé sur deux octets (2o) et
peut contenir les entiers compris entre -32768 et
+32767.
➢ « int » qui lui est codé sur quatre octets (4o) et qui
est le type que nous allons adopter par défaut
comme type entier dans notre formation.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 60
LES BASES DE JAVA
JAVA : Les données
 Le type « entier » sera désormais désigné par les mot-
clefs (2) :
➢« long » qui lui est codé sur huit octets (8o) et 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 mémoire de type « int » et
votre code ne compilera pas si votre nombre est
trop grand.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 61
LES BASES DE JAVA
JAVA : Les données
 Le type « décimal » et le type « réel » seront
désormais désignés par les mots clés « float » et
« double » qui servent à représenter des nombres en
virgule flottante car correspondent aux différentes
précisions possibles avec :
➢« float » qui lui est codé sur quatre octets (4o).
➢« double » qui lui est codé sur huit octets (8o).

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 62


LES BASES DE JAVA
JAVA : Les données
 Le type caractère est le domaine constitué des
caractères alphabétiques, numériques et de
ponctuation et permet de contenir n’importe quel
élément du jeu de caractères utilisé par votre machine.

 Le type « caractère » sera désormais désigné par le


mot-clef « char » et un caractère est délimité par des
simples quotes.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 63
LES BASES DE JAVA
JAVA : Les données
 Le type booléen est le domaine de l’ensemble formé
les deux seules valeurs « VRAI » et « FAUX ».

 Le type booléen sera désormais désigné par le mot-


clef « boolean » et ne peut contenir que deux valeurs,
à savoir « true (vrai) » ou « false (faux) », sans
guillemets (ces valeurs sont natives dans le langage, il
les comprend directement et sait les interpréter).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 64
LES BASES DE JAVA
JAVA : Les données
 Pour faciliter la lecture des codes sources de
programmes, il convient de respecter des règles pour
nommer les variables (1) :
➢ Le nom d’une variable commence par une
minuscule et ne comporte pas d’espace.
➢ Il faut également faire attention à bien donner aux
variables un nom explicite.
➢ Le nom d’une variable doit refléter le but ou le rôle
de la variable dans le code source de programme.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 65
LES BASES DE JAVA
JAVA : Les données
 Pour faciliter la lecture des codes sources de
programmes, il convient de respecter des règles pour
nommer les variables (2) :
➢ Si le nom de la variable est composé de plusieurs
mots, il faut faire commencer chacun d’eux par une
majuscule avec la première lettre en minuscule et
ne pas faire figurer de traits d’union.
➢ Exemple : laVitesse, laValeurMax, leCompteur, etc.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 66


LES BASES DE JAVA
JAVA : Les données
 La valeur d’une variable est la seule caractéristique de
cette dernière qui soit modifiable au cours de
l’exécution du programme.

 Au début du programme, toutes les variables ont des


valeurs inconnues et on peut leur donner des valeurs
grâce à une opération appelée « opération
d’affectation ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 67
LES BASES DE JAVA
JAVA : Les données
 L’opération d’affectation est un mécanisme
permettant d’attribuer, de donner ou encore
d’affecter une valeur ou donnée à une variable ou à
une constante.

 L’opérateur d’affectation en langage JAVA est


symbolisé par le caractère égal « = » et sachez que le
même opérateur est utilisé quelque soit le type de la
variable (numérique, caractère ou booléen).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 68
LES BASES DE JAVA
JAVA : Les données
 Lors d’une affectation, la valeur de la partie droite
doit obligatoirement être du type de la variable dont
la valeur est modifiée ou attribuée.

 L’exécution de programme se déroule de manière


séquentielle et ligne après ligne, les variables peuvent
parfois changer de valeurs à mesure du déroulement
de l’exécution du programme et l’existence d’une
variable n’a de sens que le temps de l’exécution du
programme.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 69
LES BASES DE JAVA
JAVA : Les données
 L’opération d’initialisation est un mécanisme
permettant d’attribuer, de donner ou encore
d’affecter une valeur ou donnée de départ ou initiale
à une variable.

 L’opérateur d’affectation est utilisé pour effectuer


l’opération d’initialisation et lors d’une initialisation,
la valeur initiale doit obligatoirement être de même
type que la variable à initialiser.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 70
LES BASES DE JAVA
JAVA : Les données
 Les erreurs à éviter sur l’utilisation des variables sont :
➢ Une variable n’est déclarée qu’une seule fois dans
un programme.
➢ Avant de pouvoir utiliser une variable, il faut l’avoir
déclarée.
➢ Avant de pouvoir utiliser la valeur d’une variable,
une valeur doit obligatoirement lui être attribuée au
préalable.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 71
LES BASES DE JAVA
JAVA : Les données
 Dans un code JAVA, il faut souvent stocker les données à
traiter, certaines de ces données sont connues à l’avance
et ne varieront pas tout le long de l’exécution du
programme : il s’agit des « constantes ».

 Une constante est un identificateur désignant un


emplacement mémoire permettant de stocker des valeurs
numériques ou chaines de caractères qui ne seront pas
modifiées pendant l’exécution du programme.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 72
LES BASES DE JAVA
JAVA : Les données
 Parfois, on manipule des données qui restent
constantes durant toute l’exécution du programme et
pour stocker de telles valeurs, on peut utiliser des
éléments appelés « constantes » qui sont en fait des
« sortes de variables » dont on ne peut changer la
donnée qu’elles contiennent.

 En langage JAVA, pour signaler qu’un élément est


une constante, on utilise le mot clef réservé « final »
comme premier mot lors de sa déclaration.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 73
LES BASES DE JAVA
JAVA : Les données
 On peut déclarer et initialiser une constante en une
seule ligne : «final typeConst nomConst = valeurConst;»

 En langage de programmation JAVA, on ne peut plus


changer la valeur d’une constante une fois qu’elle a
été initialisée et si on tente de le faire, on se retrouve
face à une erreur de compilation.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 74


LES BASES DE JAVA
JAVA : Les données
 Utiliser les constantes est bénéfique pour deux
principales raisons.
➢ La première est que cela évitera d’accidentellement
modifier la valeur d’un élémént qui ne devrait pas
changer, en effet le compilateur veillera à ce que
cela n’arrive pas.
➢ La deuxième est que cela permet au compilateur de
faire des optimisations pouvant accélérer
l’exécution du code.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 75
LES BASES DE JAVA
JAVA : Les données
 Par convention, les noms de variables et/ou des
constantes commencent par une minuscule et ne
contiennent des majuscules qu’à chaque changement
de mot, pour des noms composés.

 Pour les constantes, le nom est complètement en


majuscules avec les mots séparés par des tirets de
soulignement ( _ ).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 76
LES BASES DE JAVA
JAVA : Les opérateurs
 Les opérations utilisables sur les données de type
numérique sont toutes les opérations arithmétiques
classiques connues à savoir : l’addition (+), la
soustraction (-), le produit (*) et la division (/).

 On pourra utiliser sur les éléments de type entier ou


réel, les opérateurs de comparaison classiques à savoir
: « < », « > », « = », « != », « <= » et « >= ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 77
LES BASES DE JAVA
JAVA : Les opérateurs
 Deux opérations sont spécifiques aux entiers, à savoir: la
division entière (/) et le modulo (%).
➢ L’opérateur « / » entre deux entiers retourne le
résultat entier de la division entre le premier et le
deuxième.
➢ L’opérateur « % » entre deux entiers retourne le
reste de la division entière entre le premier et le
deuxième.
 Par exemple : (15/2) = 7 et (15%2) = 1.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA
En effet : 15 = 7x2 + 1. 78
LES BASES DE JAVA
JAVA : Les opérateurs
 Les opérateurs de calcul :
Opérateurs Descriptions
+ Addition de deux valeurs numériques.
- Soustraction de deux valeurs numériques.
* Multiplication de deux valeurs numériques.
/ Division de deux valeurs numériques.
= Affectation d’une valeur à une variable.
% Reste de la division entière entre deux valeurs
numériques.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 79


LES BASES DE JAVA
JAVA : Les opérateurs
 Les opérateurs d’affectation :
Opérateurs Descriptions
+= Ajoute à la variable de gauche la variable de droite.
Stocke la nouvelle valeur dans la variable de gauche.
-= Soustrait à la variable de gauche la variable de droite.
Stocke la nouvelle valeur dans la variable de gauche.
*= Multiplie la variable de gauche par la variable de droite.
Stocke la nouvelle valeur dans la variable de gauche.
/= Divise la variable de gauche par la variable de droite.
Stocke la nouvelle valeur dans la variable de gauche.
%= Calcule le modulo entre deux valeurs numériques.
Stocke la nouvelle valeur dans la variable de gauche.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 80
LES BASES DE JAVA
JAVA : Les opérateurs
 Les opérateurs d’incrémentation :
Opérateurs Descriptions
++ Incrémente de 1 la valeur de la variable.
-- Décrémente de 1 la valeur de la variable.
 Les opérateurs logiques :
Opérateurs Descriptions
&& Opérateur ET : implique que toutes les conditions soient
réalisées.
|| Opérateur OU : implique qu'au moins une des conditions soit
réalisée.
! Opérateur de négation : implique que la condition ne soit
pas réalisée.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 81
LES BASES DE JAVA
JAVA : Les opérateurs
 Les opérateurs de comparaison (1) :
Opérateurs Descriptions
== Opérateur d’égalité : retourne 1 si les éléments comparés
sont égaux, 0 sinon.
!= Opérateur de différence : retourne 1 si les éléments
comparés sont différents, 0 sinon.
< Opérateur d’infériorité stricte : retourne True si la
comparaison est correcte, False sinon.
<= Opérateur d’infériorité : retourne True si la comparaison
est correcte, False sinon.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 82


LES BASES DE JAVA
JAVA : Les opérateurs
 Les opérateurs de comparaison (2) :
Opérateurs Descriptions
> Opérateur de supériorité stricte : retourne True si la
comparaison est correcte, False sinon.
>= Opérateur de supériorité : retourne True si la comparaison
est correcte, False sinon.
=== Opérateur d'identité : compare la valeur et le type des
variables, retourne 1 si les éléments comparés sont les
mêmes, 0 sinon.
!== Opérateur de différence : compare la valeur et le type
des variables, retourne 1 si les éléments comparés sont
différents, 0 sinon.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 83
LES BASES DE JAVA
JAVA : Les opérateurs
 La table de vérité suivante donne la réponse « True »
ou « False » de l’opération logique « && ».
Opération « && » FAUX VRAI
FAUX FAUX FAUX
VRAI FAUX VRAI

 La table de vérité suivante donne la réponse « True »


ou « False » de l’opération logique « || ».
Opération « || » FAUX VRAI
FAUX FAUX VRAI
VRAI VRAI VRAI
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 84
LES BASES DE JAVA
JAVA : Les opérateurs
 Nous allons distinguer un opérateur de
concaténation dans le cadre de ce cours, à savoir :
« + ».
➢ Utilisé avec des valeurs numériques , l’opérateur
« + » effectue l’addition, mais utilisé avec des
chaines de caractères, il effectue la concaténation
de ces chaines.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 85


LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 Les programmes utilisent fréquemment des
instructions permettant l’affichage de données a
l’écran et la saisie de valeurs au clavier par l’utilisateur,
puis le stockage de ces valeurs en mémoire.

 Nous travaillerons dans un premier temps en mode


console, puis dans un second temps en mode
graphique.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 86
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 Pour afficher un message à l’utilisateur de notre
programme en mode console du langage JAVA, nous
utiliserons : « System.out.println( ) ».

« System.out.println » pour dire au système qu’on


veut accéder à son périphérique principal de sortie,
qui n’est rien d’autre que l’écran de la machine pour
imprimer une ligne dessus.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 87
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 Dans le cadre de ce cours, l’instruction d’affichage de
données à l’écran sera :
➢ System.out.println(nomVariable) : Si on veut
afficher à l’écran le contenu de la variable
« nomVariable ».
➢ System.out.println("Bonjour à tous.") : Si on
veut afficher à l’écran la chaine de caractère
« Bonjour à tous. ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 88
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 Pour récupérer une donnée au clavier, nous allons
utiliser un objet de type « Scanner », afin d’analyser le
clavier et de récupérer son contenu.

 Après avoir créé notre « objet Scanner », nous devons


déclarer une variable qui va permettre de stocker la
valeur que nous récupèrerons au niveau du clavier à
partir de l’objet Scanner.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 89
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 Nous allons alors procéder en deux temps :
 « Scanner nomScan = new Scanner(System.in); ».

 « nomVar = nomScan.nextTYPEVAL ; ».

« System.in » permet de dire au système que nous


voulons accéder à son périphérique principal d’entrée
qui n’est rien d’autre que le clavier de la machine
(pour le scanner).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 90
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 La première instruction nous permet de scanner le
clavier et récupérer la donnée qui s’y trouve à l’aide
de notre objet scanner.

 La deuxième instruction permet de récupérer la


donnée contenue dans notre objet scanner pour la
stocker dans un espace en mémoire prévu pour ça.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 91


LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 L’expression « nextTYPEVAL » varie en fonction du
type de la donnée à récupérer au clavier, en effet :
➢ Pour un « byte », nous aurons « nextByte ».
➢ Pour un « short », nous aurons « nextShort ».
➢ Pour un « int », nous aurons « nextInt ».
➢ Pour un « long », nous aurons « nextLong ».
➢ Pour un « float », nous aurons « nextFloat ».
➢ Pour un « double », nous aurons « nextDouble ».
➢ Pour un « string », nous aurons « nextLine ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 92
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 En résumé, la lecture des entrées clavier se fait via l’objet
« Scanner » en mode console et ce dernier se trouve
dans le package « java.util » que vous devrez importer.

 Pour pouvoir récupérer ce que vous allez taper dans la


console, vous devez initialiser l’objet Scanner avec
l’entrée standard du système (System.in). Et n’oubliez
pas qu’il y a une méthode de récupération de données
pour chaque type de donnée sauf pour les caractères
(char).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 93
LES BASES DE JAVA
JAVA : « Entrées » et « Sorties »
 Nous allons également nous munir de :
➢ « break » qui est l’instruction qui nous permettra
de sortir d’un niveau au sein d’un élément du code
source (comme d’une structure de contrôle, d’une
fonction ou d’une procédure) et ce à n’importe
quel moment.
➢ « System.exit( ) » qui est l’instruction qui nous
permettra de sortir d’un programme à n’importe
quel moment avec une valeur de retour par défaut
c’est la valeur zéro (0).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 94
LES STRUCTURES
DE CONTROLE

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 95


LES STRUCTURES DE CONTROLE
Définitions
 Nous allons introduire à présent les structures de
contrôle qui sont des instructions permettant de
construire des algorithmes ou des programmes
au déroulement non linéaire et des algorithmes
ou des programmes au déroulement itératif.

 Les structures de contrôle permettent également


d’exécuter un ensemble d’instructions en fonction
d’une ou de plusieurs conditions.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 96
LES STRUCTURES DE CONTROLE
Définitions
 Nous verrons dans le cadre de ce cours sept
structures de contrôle, à savoir :
➢ quatre structures sélectives qui sont :
« if…else », « switch », « try…catch » et la
« condition ternaire » (opérateur ternaire).
➢ trois structures répétitives qui sont : « while »,
« do … while » et « for ».

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 97


LES STRUCTURES DE CONTROLE
Structures Sélectives
 Aussi appelée « instruction sélective », une structure
sélective est une opération au sein d’un algorithme ou
au sein d’un code source de programme permettant
de construire des algorithmes ou des programmes au
déroulement non linéaire.

 La structure sélective repose sur l’évaluation, par


l’algorithme ou le programme d’une variable et en
fonction de la valeur de celle-ci un seul bloc
d’instructions est exécuté.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 98
LES STRUCTURES DE CONTROLE
Structures Sélectives
 Nous verrons dans le cadre de cette formation quatre
structures sélectives qui sont :
➢« if…else »
➢« switch »
➢« try…catch »
➢ et l’ « opérateur ternaire ».

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 99


LES STRUCTURES DE CONTROLE
Structures Sélectives
 Voici le formalisme en langage JAVA de la structure
sélective « if…else » :

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 100


LES STRUCTURES DE CONTROLE
Structures Sélectives
 L’instruction sélective « if … else » repose sur
l’évaluation, d’une seule condition à valeur booléenne
(« true » ou « false »), qui détermine également la
suite du déroulement de l’exécution du programme.

 Cette structure de contrôle sélective nous permettra


désormais de concevoir des programmes qui
n’exécuteront que certaines lignes de code et d’autres
non.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 101
LES STRUCTURES DE CONTROLE
Structures Sélectives
 La condition est une expression booléenne dont la
valeur détermine le bloc d’instruction à exécuter car
le bloc d’instructions exécuté dépend de la valeur
booléenne de la condition.
➢ Si la condition vaut « true », seul le « premier
bloc d’instructions » est exécuté et le deuxième
ne sera pas exécuté.
➢ Si la condition vaut « false », seul le « deuxième
bloc d’instructions » est exécuté et le premier ne
sera pas exécuté.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 102
LES STRUCTURES DE CONTROLE
Structures Sélectives
 Sachez que l’instruction « else » n’est pas obligatoire
et n’est utilisé que si nécessité. L’un des blocs est
obligatoirement exécuté et les autres ne le seront pas.

 La mise en page doit permettre de visualiser les


niveaux d’exécution des instructions du programme
et l’ensemble des instructions du bloc doit
nécessairement être décalé à droite d’une tabulation.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 103
LES STRUCTURES DE CONTROLE
Structures Sélectives
 Les décalages dans l’écriture d’un code source de
programme sont nécessaires à sa bonne lisibilité.
➢ Si le bloc comporte plusieurs instructions (à partir
de deux instructions), il est obligatoire de le
délimiter par des accolades (« { » et « } »).
➢ Si le bloc d’instruction comporte une seule
instruction, il n’est pas nécessaire de le délimiter
par des accolades (« { » et « } »).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 104
LES STRUCTURES DE CONTROLE
Structures Sélectives
 La règle est assez simple :
➢ dès qu’un nouveau bloc d’instructions commence
par une accolade ouvrante « { », toutes les lignes
suivantes sont décalées d’une tabulation vers la
droite.
➢ dès qu’un bloc se termine par une accolade
fermante « } », toutes les lignes suivantes sont
décalées d’une tabulation vers la gauche.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 105
LES STRUCTURES DE CONTROLE
Structures Sélectives
 Formalisme de « switch »

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 106


LES STRUCTURES DE CONTROLE
Structures Sélectives
 L’instruction sélective « switch » permet d’évaluer
une variable puis exécute un bloc d’instructions en
fonction de la valeur contenue dans cette variable.

 Lorsque vous utiliserez la structure de contrôle


sélective « switch », n’oubliez jamais de déclarer une
variable qui prendra les valeurs des différents cas à
tester dans le programme et sachez que le type de
cette variable dépends des valeurs qu’elle sera
susceptible de recevoir.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 107
LES STRUCTURES DE CONTROLE
Structures Sélectives
 La structure « switch » permet de tester (comparer)
la valeur d’une variable avec différentes valeurs, à
savoir les valeurs qui suivent les instructions « case ».

 Lorsque la première valeur correspondant à


l’expression testée est exécutée, le bloc de code est
traité, puis l’instruction « break » impose la sortie de
la structure « switch ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 108
LES STRUCTURES DE CONTROLE
Structures Sélectives
 L’instruction « default » permet de gérer le cas ou
aucune des valeurs proposées ne correspond à aucun
des cas sensés se produire (traitement par défaut).

 Il est alors possible de définir le code à traiter dans ce


cas de figure précis, car c’est ce bloc qui permet de
définir les instructions à exécuter par défaut.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 109


LES STRUCTURES DE CONTROLE
Structures Sélectives
Voici le formalisme en langage JAVA de la structure
sélective « try…catch » :

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 110


LES STRUCTURES DE CONTROLE
Structures Sélectives
 La structure « try…catch » permet de traiter un bloc
d’instruction dans la partie « try » et d’intercepter les
erreurs possibles de celui-ci dans la partie « catch ».

 Sa principale force est de permettre la poursuite des


traitements qui suivent la structure « try…catch »
lorsqu’une erreur est rencontrée.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 111


LES STRUCTURES DE CONTROLE
Structures Sélectives
 L’opérateur ternaire est une structure sélective
permettant d’attribuer une valeur à une variable en
fonction d’une condition donnée.

 L’opérateur ternaire est défini en JAVA de la manière


suivante :
«nomVar = (Condition) ? expres_Si_VRAI : expres_Si_FAUX;»

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 112


LES STRUCTURES DE CONTROLE
Structures Sélectives
 Le principe de fonctionnement de l’opérateur ternaire
est le suivant :
➢ La variable « nomVar » prendra la valeur renvoyée
par l’expression « expres_Si_VRAI », si
l’interprétation de la « Condition » renvoie la
valeur « true ».
➢ La variable « nomVar » prendra la valeur renvoyée
par l’expression « expres_Si_FAUX », si
l’interprétation de la « Condition » renvoie la
valeur « false ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 113
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Avant d’aborder les structures de contrôles
répétitives, nous allons d’abord définir une opération
récurrente et très fréquemment utilisée dans ces
structures de contrôle répétitives (boucles) :
l’incrémentation.

 L’opération d’incrémentation est le mécanisme


permettant d’augmenter la valeur d’une variable.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 114
LES STRUCTURES DE CONTROLE
Structures Répétitives
 La quantité (la valeur du nombre) utilisée pour
augmenter la valeur de la variable à incrémenter est
appelé « pas d’incrémentation ».

 Lorsque la valeur du pas d’incrémentation n’est


pas précisée, par défaut c’est la valeur « UN (1) » qui
est utilisée pour effectuer l’opération.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 115


LES STRUCTURES DE CONTROLE
Structures Répétitives
 Aussi appelé « instruction répétitive », une structure
répétitive est une opération au sein d’un algorithme ou au
sein d’un code source de programme permettant de
construire des algorithmes ou des programmes au
déroulement itératif.

 La structure répétitive repose sur l’évaluation, par


l’algorithme ou le programme, d’une condition et en
fonction que la condition soit vraie ou fausse un
ensemble d’instruction est exécuté de manière itérative
(répétitive).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 116
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Nous verrons dans le cadre de cette formation trois
structures répétitives qui sont :
➢« while »
➢« do.while »
➢« for ».

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 117


LES STRUCTURES DE CONTROLE
Structures Répétitives
 Les structures répétitives permettent d’exécuter
plusieurs fois consécutives un même bloc
d’instructions et la répétition s’effectue tant que la
condition de répétition est vérifiée.

 La première structure de contrôle répétitive que nous


verrons est la boucle « while » et sa syntaxe est
particulièrement simple, il s’agit en principe de
contrôler la répétition de l’exécution d’un bloc.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 118
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Voici le formalisme en langage JAVA de la structure
répétitive « while » :

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 119


LES STRUCTURES DE CONTROLE
Structures Répétitives
 La répétition s’effectue tant que la condition est
vérifiée, c’est-à-dire que tant que l’interprétation de
l’expression booléenne renvoie la valeur « true ».

 La condition de répétition conduit la poursuite ou


l’arrêt de l’exécution du bloc d’instructions et l’état
des variables du bloc d’instructions change à chaque
tour de boucle (ou itération) et nous devons faire en
sorte qu’il en soit ainsi.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 120
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Il faut cependant faire attention car la variable utilisée
pour effectuer la comparaison doit évoluer au sein du
code de la boucle sans quoi celle-ci sera infinie.

 Très fréquemment la comparaison est faite sur une


valeur numérique et il faut dans ce cas à la fin de la
boucle incrémenter cette valeur. La valeur qui
s’incrémente presque toujours dans la boucle
« while » est stockée dans une variable souvent
appelée « compteur ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 121
LES STRUCTURES DE CONTROLE
Structures Répétitives
 La deuxième structure de contrôle répétitive que
nous verrons est la boucle « do … while ». Les
structures répétitives « while » et « do … while » ont
obligatoirement (forcément) la même condition.

 La différence réside dans le fait que la structure de


contrôle répétitive « do … while » effectue
l’évaluation de la condition booléenne après avoir
exécuté au moins une première fois le bloc
d’instructions.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 122
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Voici le formalisme en langage JAVA de la structure
répétitive « do…while » :

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 123


LES STRUCTURES DE CONTROLE
Structures Répétitives
 Le bloc d’instructions de la boucle « do…while »
sera au moins exécuté une fois, même si la condition
décrite plus bas au niveau du « while » n’est pas
vérifiée.

 En effet, cette condition n’est testée qu’après une


première exécution du bloc d’instructions,
contrairement à la boucle « while » qui elle effectue
d’abord le test avant d’exécuter le bloc d’instructions.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 124
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Pour écrire une boucle prenez l’habitude de :
➢ Prévoir un compteur et chercher la condition
d’arrêt.
➢ Ecrire sa négation à l’aide du tableau de
correspondance des conditions d’arrêt qui suit (à
comprendre et à connaître par cœur).

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 125


LES STRUCTURES DE CONTROLE
Structures Répétitives
 Pour écrire une boucle, trois étapes sont obligatoires
(1) :
➢ L’initialisation de la variable compteur, et au
besoin, d’autres variables du bloc, avant d’entrer
dans la boucle.
➢ La condition de poursuite : il existe toujours
différentes conditions de poursuite, qui sont toutes
équivalentes, à vous d’opter pour celle qui convient
le mieux.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 126
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Pour écrire une boucle, trois étapes sont obligatoires
(2) :
➢ L’incrémentation du compteur et la
modification d’au moins une valeur dans la boucle
pour que la répétition exprime une évolution des
calculs.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 127


LES STRUCTURES DE CONTROLE
Structures Répétitives
 Ce serait une très grosse et grave erreur de négliger
l’une des étapes précisées précédemment :
➢ Vous risquez de ne jamais entrer dans la
boucle si la condition de poursuite est fausse dès
le début.
➢ Ou vous risquez de ne jamais en sortir, si une
fois entré, la condition de sortie n’est jamais
possible, il s’agira alors d’une « boucle infinie ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 128
LES STRUCTURES DE CONTROLE
Structures Répétitives
 La troisième structure de contrôle que nous verrons
est la boucle « for » qui est utilisée très
fréquemment en programmation informatique
pour réitérer une exécution un nombre de fois
connu à l’avance.

 Cette écriture est pratique puisqu’elle désigne


l’ensemble de la boucle en une seule ligne et
l’incrémentation d’une unité de la variable
« compteur » est (implicite), sous-entendue à la fin de
la boucle.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 129
LES STRUCTURES DE CONTROLE
Structures Répétitives
 La boucle « for » permet d’exécuter un bloc
d’instructions autant de fois que, la condition remplie
par le compteur est respectée. En JAVA la structure
de contrôle répétitive « for » comprend trois
éléments, à savoir :
➢ L’initialisation de la variable « compteur ».
➢ La condition d’arrêt de la boucle.
➢ L’incrémentation ou décrémentation de la
variable « compteur ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 130
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Le formalisme de la boucle « for » est :

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 131


LES STRUCTURES DE CONTROLE
Structures Répétitives
 L’initialisation de la variable compteur consiste à lui
affecter une valeur de départ.
 La condition d’arrêt de la boucle consiste à préciser
la valeur limite que prendra la variable « compteur ».
 L’incrémentation ou la décrémentation de la
variable « compteur » consistera à augmenter ou à
diminuer la valeur de la variable « compteur » à
chaque tour de boucle.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 132
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Les boucles sont des structures qui permettent de
répéter une séquence du programme un nombre de
fois spécifique qui peut être soit défini, soit lié à une
condition.

 Effectuer une boucle en JAVA peut se faire avec les


instructions « while » ou « do..while » ou encore
« for ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 133
LES STRUCTURES DE CONTROLE
Structures Répétitives
 Les instructions « break » et « continue » permettent
de gérer les passages et les sorties des boucles :
➢ break : provoque la sortie immédiate de la boucle
courante.
➢ continue : interrompt le code restant pour la
valeur en cours et provoque le passage à la valeur
suivante mais reste toujours dans la boucle pour
continuer l’exécution avec les valeurs suivantes.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 134
INITIATION A LA POO
EN JAVA

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 135


INITIATION A LA POO EN JAVA
Historique
 La Programmation Orientée Objet (POO), ou
programmation par objet, est un paradigme de
programmation informatique élaboré par les
Norvégiens Ole-Johan Dahl et Kristen Nygaard au
début des années 1960 et poursuivi par les travaux de
l’Américain Alan Kay dans les années 1970.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 136


INITIATION A LA POO EN JAVA
Définition
 La Programmation Orientée Objet (POO) est le
volet de la programmation informatique permettant
d’analyser et de modéliser les éléments de la vie
autour de nous humains, afin de les créer de manière
virtuelle puis simuler correctement leurs
caractéristiques et leurs comportements comme dans
leur environnement naturel.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 137


INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 Concrètement, la Programmation Orientée Objet
(POO) consiste à faire « coïncider » la réalité avec
les lignes de codes.

 La Programmation Orientée Objet (POO) fait


intervenir les concepts suivants : objet, classe,
instanciation, encapsulation, polymorphisme,
héritage et généralisation.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 138
INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 La Programmation Orientée Objet (POO),
consiste en la définition et l’interaction de briques
logicielles appelées « objets » et un objet peut être la
représentation d’un concept, d’une idée ou toute
entité du monde physique, comme une voiture, une
personne, un livre ou encore une page d’un livre.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 139


INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 Un objet possède une structure interne et un
comportement et sait interagir avec ses pairs : il s’agit
donc de représenter les objets et leurs relations.

 L’interaction entre les objets via leurs relations


permet de concevoir et réaliser les fonctionnalités
attendues, afin de mieux résoudre le ou les problèmes
posés.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 140
INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 Dès lors, l’étape de modélisation revêt une
importance majeure, capitale et nécessaire pour la
Programmation Orientée Objet, car c’est la
modélisation qui permet de transcrire les éléments du
monde réel sous forme virtuelle.

 La programmation orientée objet est un modèle de


langage de programmation qui s’articule autour
d’objets et de données, plutôt que d’actions et de
logique.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 141
INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 Par opposition à la Programmation Procédurale qui
elle s’articule autour d’une procédure logique qui
récupérait des données en entrée, les traitait puis
produisait des données en sortie.

 En effet, en Programmation Procédurale, le


programmeur s’intéresse en priorité aux traitements
que son programme devra effectuer.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 142
INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 En Programmation Procédurale, le programmeur
commencera par identifier les traitements pour écrire
les fonctions et autres procédures qui les réalisent, sur
des données prises comme paramètres d’entrée.

 La Programmation Orientée Objet (introduite par le


langage SmallTalk) propose une méthodologie
centrée sur les données.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 143
INITIATION A LA POO EN JAVA
Le Concept Orienté Objet
 Le programmeur en orienté objet va d’abord
identifier un ensemble d’objets, tel que chaque objet
représente un élément qui doit être utilisé ou
manipulé par le programme, sous la forme
d’ensembles de données.

 Ce n’est que dans un deuxième temps, que le


programmeur va écrire les traitements, en associant
chaque traitement à un objet donné.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 144
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Un objet est la représentation d’un élément matériel
ou immatériel ayant un rôle dans le programme que
l’on désire mettre en place.

 Un objet peut-être un élément concret (livre,


étudiant, enseignant, employé) ou abstraits (compte
bancaire) du programme cible que l’on peut identifier.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 145


INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Un objet possède des caractéristiques que nous
appellerons « attributs » et des comportements que
nous appellerons « méthodes ».

 Tous les objets ayants les mêmes caractéristiques et


les mêmes comportements seront regroupés dans des
entités que nous appellerons « classe d’objets ».

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 146


INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Une classe peut être vu comme une entité
regroupant un ensemble de données, de fonctions et
de procédures de traitement.

 Un attribut doit être unique pour un exemple d’objet


d’une classe et doit également être homogène, c’est-à-
dire avoir un sens commun pour tous les exemples
d’objets de cette classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 147
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Parmi tous les attributs d’un objet, nous distinguons
un en particulier que nous appellerons « identifiant »
et un identifiant est un attribut permettant de
distinguer de manière unique chacun des objets
d’une classe.

 L’identifiant est une propriété particulière d’un objet


telle qu’il n’existe pas deux occurrences de cet objet
pour lesquelles cette propriété pourrait prendre une
même valeur.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 148
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Les méthodes d’une classe permettent de décrire les
différents comportements des objets de cette classe
et une méthode pourra être soit une procédure, soit
une fonction.

 Les attributs d’une classe permettent de caractériser


tous les objets de cette classe sans distinctions et
doivent donc être commun à tous les objets de cette
classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 149
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Ainsi, ne seront retenus comme attributs d’une
classe que les caractéristiques qui sont communes à
tous les objets de cette classe sans distinction aucune.

 Egalement, ne seront retenus comme méthodes


d’une classe que les comportements qui sont
communs à tous les objets de cette classe sans
distinction aucune.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 150
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Les méthodes d’une classe vont permettre par la suite de
manipuler tous les objets de cette classe, elles joueront en
effet, le rôle d’opération pour les objets de la classe en
plus de celui de description de comportements.

 Chaque classe doit posséder au moins une méthode


particulière appelée « constructeur » qui permet non
seulement de créer de nouveaux objets de cette classe
mais aussi porte obligatoirement le même nom que la
classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 151
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Une classe peut avoir plusieurs constructeurs et
définit une structure de données particulière ainsi que
les opérations permettant de la manipuler.

 Une classe est un élément qui permet au


programmeur informatique de catégoriser des objets
en fonction des caractéristiques et des
comportements que ces objets ont en commun : on
parle ainsi d’objets d’une classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 152
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 La principale difficulté d’un algorithme conçu par
objet est dans la détermination des bons objets : c’est
l’objectif de l’étape de conception.

À la lecture du dictionnaire des données, apparaissent


des entités munies de caractéristiques que nous
devons manipuler.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 153


INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Nous distinguons deux catégories de classes :
➢ La catégorie où les classes existent déjà, c’est-
à-dire soit le langage nous les fourni ou soit qu’un
autre développeur les a déjà créés : c’est le cas le
plus simple.
➢ La catégorie où les classes n’existent pas déjà,
nous devons par conséquent les créer nous même.
Nous devons en effet, construire nos propres
outils, il s’agira d’écrire nos propres classes.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 154
INITIATION A LA POO EN JAVA
Les Objets et leurs Classes
 Chaque classe est composé d’un ensemble
d’« Attributs » et d’un ensemble de « Méthodes ». Les
« attributs » d’une classe caractérise les objets de cette
classe et les « méthodes » d’une classe décrivent le
comportement des objets de cette classe.
 Nous rappelons qu’il existe dans toutes les classes, une
méthode particulière appelée « Constructeur » et que le
constructeur d’une classe est la méthode qui permet de
créer de nouveaux objets de cette classe puis porte
obligatoirement le même nom que la classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 155
INITIATION A LA POO EN JAVA
Instance et Constructeur de Classe
 La classe est vue et considérée comme un moule à
objet, en effet, à l’aide de son constructeur on peut
créer autant d’objets d’une classe que l’on désir.

 Un exemple d’objet d’une classe est appelé


« Instance » de cette classe et pour créer une
instance d’objet d’une classe, il faut :
➢ d’abord définir une variable d’instance.
➢ puis ensuite construire l’instance.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 156
INITIATION A LA POO EN JAVA
Instance et Constructeur de Classe
 Une « Instance » possède trois caractéristiques, à
savoir :
➢ Une Identité (au moins une variable l’identifie).
➢ Un état (défini par l’ensemble des données qu’elle
contient)
➢ Un Comportement (correspondant à l’ensemble
de ses méthodes).

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 157


INITIATION A LA POO EN JAVA
Instance et Constructeur de Classe
 Les instances sont manipulées uniquement par les
méthodes de l’interface utilisateur définies dans la
classe associée.

 La classe est la définition d’une structure et les


instances sont les objets créés, qui existent
concrètement en mémoire tout en respectant la
définition de la classe associée.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 158
INITIATION A LA POO EN JAVA
Instance et Constructeur de Classe
 La création effective de l’instance se fait ensuite à
l’aide de l’opérateur spécifique « new », car c’est
l’opérateur « new » qui permet de créer un objet.

 Le constructeur est appelé pour construire une


instance de la classe et l’un des objectifs d’un
constructeur de classe est d’initialiser les
caractéristiques de l’objet créé par l’opérateur
« new ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 159
INITIATION A LA POO EN JAVA
Instance et Constructeur de Classe
 De manière concrète les objets doivent être initialisés
avant de pouvoir être utilisés et nous rappelons qu’un
constructeur est caractérisé de deux faits, à savoir :
➢ Un constructeur porte le même nom que la classe
à laquelle il est rattaché.
➢ Une classe peut posséder plusieurs constructeurs
portant le même nom (celui de la classe), mais
ayant des paramètres différents.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 160
INITIATION A LA POO EN JAVA
Instance et Constructeur de Classe
 Un constructeur ne retourne pas de valeur, mais
« Vide » (Null) : car il n’a pas de retour et le
constructeur par défaut est le constructeur qui ne
prend aucun paramètre.

 Sachez que les valeurs des attributs sont des valeurs


déterminées par le concepteur de la classe et il est
possible que plusieurs variables référencent une
même instance.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 161
INITIATION A LA POO EN JAVA
Appel d’une Méthode
 Pour rappel, une méthode de classe décrit un
comportement des objets de cette classe et les
instances doivent être imaginées comme des entités
indépendantes.

 Pour activer une instance, il faut lui envoyer un


message. Un message est le signal envoyé à une
instance particulière en lui appliquant une méthode,
avec ou sans paramètres.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 162
INITIATION A LA POO EN JAVA
Appel d’une Méthode
 Le fait d’appliquer une méthode à une instance
déclenche alors son activité, qui elle est caractérisée
par le déroulement de la méthode associée.

 On parle d’invocation pour désigner le fait


d’appliquer une méthode à une instance et on
invoque une méthode sur un objet instance par
l’application sur l’identificateur de cet objet receveur,
du nom de la méthode précédé de l’opérateur point
noté : « . » (Objet.Méthode).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 163
INITIATION A LA POO EN JAVA
Appel d’une Méthode
 L’appel ou l’invocation d’une méthode sur un objet
receveur peut se faire ainsi :
➢ Si la méthode ne retourne rien (une procédure) :
« nomInstance.nomMethode( ) »
➢ Si la méthode retourne une valeur (une fonction) :
« varResultat = nomInstance.nomMethode( ) »

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 164


INITIATION A LA POO EN JAVA
Appel d’une Méthode
 Le système à objets reconnaît la méthode invoquée
en reconnaissant la classe de l’objet receveur, car c’est
la classe comportant comme information structurelle
les corps de toutes ses méthodes et donc le système
peut ainsi activer la bonne méthode invoquée.

 Vérifiez que vous avez mis le « . » et que la variable


placée devant ce point appartient bien à une classe
qui possède la méthode utilisée.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 165
INITIATION A LA POO EN JAVA
Appel d’une Méthode
 Vérifiez que vous n’avez pas oublié des paramètres
pour utiliser la méthode et n’oubliez pas que même
sans paramètre, il faut mettre des parenthèses.

 Si la méthode retourne une valeur ou une donnée (un


entier, un caractère, un objet, etc.) pensez à mettre la
valeur retournée dans une variable.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 166


INITIATION A LA POO EN JAVA
Conception d’une Classe
 Une classe peut être déclarée de la manière suivante :
➢ Spécification du nom de la Classe
➢ Déclaration des Attributs de la Classe
➢ Signature du ou des Constructeurs de la Classe
➢ Signature des Méthodes (Fonctions et Procédures)
de la Classe

 En fait, la déclaration d’une classe permet de la définir,


puis elle sera par la suite reconnue et utilisable.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 167
INITIATION A LA POO EN JAVA
Conception d’une Classe
 Un attribut de classe est une variable interne à la
classe et les attributs d’une classe permettent de
caractériser les objets de cette classe.

 Chaque instance ou objet, possède ses propres


valeurs le caractérisant et on dit que l’instance
encapsule ses attributs.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 168


INITIATION A LA POO EN JAVA
Conception d’une Classe
 Il s’agit là d’une conception particulière de la
programmation, chaque instance possède ses propres
valeurs d’attributs.

 On parle aussi de variables d’instance pour


caractériser un objet particulier de la classe puis
sachez que l’ensemble des attributs définit l’état
de l’instance.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 169
INITIATION A LA POO EN JAVA
Conception d’une Classe
 Une méthode de classe est une portion de code
faisant un traitement donné (renvoyant ou non de
valeur) et associée à cette classe.

 Les méthodes (fonction et procédures) s’écrivent de


la même manière que nous avons vu dans le cours
d’algorithmique et techniques fondamentales de
programmation.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 170
INITIATION A LA POO EN JAVA
Conception d’une Classe
 Pour rappel, un constructeur d’une classe est une
méthode appelée pour construire une instance d’objet
de cette classe et il porte obligatoirement le même
nom que la classe à laquelle il est associé.

 L’objectif d’un constructeur est d’initialiser tous les


attributs et une classe peut posséder plusieurs
constructeurs portant le même nom qui est celui de la
classe, mais ayant des paramètres différents.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 171
INITIATION A LA POO EN JAVA
Conception d’une Classe
 Un constructeur ne retourne jamais de valeur, même
pas « vide », il n’a pas de retour et une classe possède
toujours au moins un constructeur, appelé
« Constructeur par défaut ».

 Le constructeur par défaut est le constructeur qui ne


prend aucun paramètre et les valeurs des attributs
sont des valeurs déterminées par le concepteur de la
classe (le programmeur).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 172
INITIATION A LA POO EN JAVA
Conception d’une Classe
 Dans un premier temps, l’objectif du constructeur est
d’initialiser tous les attributs de la classe et un
constructeur doit avoir autant de lignes que la classe
possède d’attributs.

 Un « constructeur de copie », appelé aussi


« constructeur par recopie » est un constructeur qui
admet comme paramètre un objet de la même classe,
déjà existant.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 173
INITIATION A LA POO EN JAVA
Conception d’une Classe
 Le but du « constructeur de copie » est de créer une
nouvelle instance, qui possède les même propriétés
(ses attributs auront les même valeurs) que celles de
l’instance passée en paramètre.

 Sachez également qu’une instance est capable


d’accéder aux attributs de toutes les autres instances
de la même classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 174
INITIATION A LA POO EN JAVA
L’opérateur THIS
 L’opérateur « THIS » désigne l’instance en cours
d’utilisation, c’est-à-dire, l’instance courante en
mémoire, l’instance sur laquelle l’opération en cours
porte.

 L’instance courante est l’instance sur laquelle


s’applique la méthode en cours d’exécution et elle est
nommée « THIS » dans le bloc d’instructions de la
méthode.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 175
INITIATION A LA POO EN JAVA
L’opérateur THIS
 Une méthode s’exécute toujours pour une instance
particulière et lorsqu’on ne connait pas le nom de la
variable d’instance en cours, on la désigne par
« THIS ».

 Les attributs et les méthodes de l’instance courante


sont précédés par l’opérateur « this » qui est facultatif,
mais plus clair, et donc recommandé de faire précéder
les attributs et les méthodes de l’instance courante
par « THIS ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 176
INITIATION A LA POO EN JAVA
L’opérateur THIS
 Il existe un cas où l’opérateur « THIS » est
obligatoire, c’est lorsqu’il il y a ambiguïté entre le
nom d’un paramètre et celui d’un attribut.

 En effet, quand un paramètre d’une méthode et un


attribut de classe portent le même nom, il est
nécessaire de précéder l’attribut par l’opérateur
« THIS » pour éviter une éventuelle confusion.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 177
INITIATION A LA POO EN JAVA
Les Accesseurs
 Pour des raison de sécurité, il est généralement
recommandé au programmeur d’une classe de cacher
le nom et la nature des attributs de sa classe.

 C’est pourquoi la convention recommande de


déclarer les variables de classes (les attributs de classe)
de type « Private », ce qui a pour conséquence que
seuls les éléments de la même classe pourront y
accéder.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 178
INITIATION A LA POO EN JAVA
Les Accesseurs
 Pour permettre que des attributs de classes soient
accessibles en lecture ou en écriture depuis l’extérieur
de la classe, le programmeur doit prévoir des
méthodes appelées « accesseurs ».

 Un accesseur est une méthode de classe qui est


conçue et écrite pour permettre d’accéder à un
attribut de classe en lecture ou en écriture en dehors
de la classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 179
INITIATION A LA POO EN JAVA
Les Accesseurs
 C’est pourquoi, il est fréquent de devoir fournir aux
utilisateurs de nos classes, des méthodes simples pour
accéder à ces attributs que ce soit en « lecture » ou en
« écriture ».

 Pour chacun de ses attributs, une classe possède


généralement deux méthodes appelées accesseurs :
➢ une pour y accéder en lecture : « GET »
➢ et l’autre pour y accéder en écriture : « SET ».
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 180
INITIATION A LA POO EN JAVA
Les Accesseurs
 Un accesseur en lecture est une méthode de la
classe permettant d’accéder à un attribut de cette
classe pour récupérer (et/ou de connaître) la valeur
de cet attribut de classe (on parle d’accès en lecture).

 L’accesseur en lecture est une fonction, car


retourne toujours une valeur et cette valeur retournée
est la valeur de l’attribut et pour la syntaxe utilisée, il
suffit de faire précéder le nom de l’attribut à
récupérer par le terme « GET » (en minuscule).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 181
INITIATION A LA POO EN JAVA
Les Accesseurs
 Un accesseur en écriture est une méthode de la
classe permettant d’accéder à un attribut de classe
pour modifier la valeur de cet attribut de classe (on
parle d’accès en écriture).

 L’accesseur en écriture est une procédure, car ne


retourne jamais de valeur et pour la syntaxe utilisée, il
suffit de faire précéder le nom de l’attribut à modifier
par le terme « SET » (en minuscule).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 182
INITIATION A LA POO EN JAVA
Les Accesseurs
 Un accesseur en écriture prend un paramètre qui
est sensé contenir la nouvelle valeur de l’attribut à
modifier et ce paramètre est du type de l’attribut à
modifier.

 Les accesseurs sont des méthodes très simples


permettant d’accéder en lecture et en écriture aux
attributs depuis l’extérieur d’une classe.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 183
INITIATION A LA POO EN JAVA
Les Accesseurs
 De manière conventionnelle, le nom des accesseurs
se déduit automatiquement du nom de l’attribut
associé et il suffit de faire précéder le nom de
l’attribut par « get » pour l’accès en lecture et par
« set » pour l’accès en écriture.

 La méthode « get » accède à l’attribut et retourne sa


valeur sans la modifier et la méthode « set » accède à
l’attribut pour modifier sa valeur.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 184
INITIATION A LA POO EN JAVA
Les Accesseurs
 Les accesseurs, s’ils sont disponibles pour une
classe, constituent un moyen de récupérer la
valeur d’un attribut ou de la modifier.

 Puis sachez que les « accesseurs » sont utilisables par


les utilisateurs de la classe. Quand la méthode
retourne une valeur, la dernière instruction exécutée
de la méthode est : return(valeur).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 185
INITIATION A LA POO EN JAVA
Le Choix des Variables
 Les variables utilisées dans une méthode sont :
➢ Les attributs de l’instance.
➢ Les paramètres passés lors de l’appel de la
méthode.
➢ Toutes les variables définies dans le bloc
d’instructions de la méthode.

 C’est une grave erreur de vouloir redéfinir les


attributs ou les paramètres dans le bloc d’instructions
de la méthode.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 186
INITIATION A LA POO EN JAVA
La Durée de Vie des Variables
 Dans chaque méthode, il est possible de définir des
variables locales à la méthode, qui n’existeront que le
temps de son exécution.

 ATTENTION : Il ne faut surtout pas définir des


variables ayant le nom des attributs de la classe :
sinon, ces derniers ne seraient pas accessibles (c’est
une erreur courante).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 187
INITIATION A LA POO EN JAVA
Accès Privé / Accès Public
 L’utilisation des méthodes ou l’accès aux attributs en
dehors de la classe n’est pas toujours permis par celui
qui l’a conçue.

 Le programmeur de la classe a un moyen de


permettre ou d’empêcher l’utilisation d’une méthode,
ou l’accès direct à un attribut de sa classe.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 188


INITIATION A LA POO EN JAVA
Accès Privé / Accès Public
 Parfois les attributs privés sont accessibles
indirectement par l’utilisation d’accesseurs associés.

 Un attribut ou une méthode sont dits privés si leur


utilisation est interdite en dehors de la classe et le
signe caractérisant le caractère privé d’un attribut ou
d’une méthode est le signe moins « - » dans le
diagramme de classe (modélisation UML).
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 189
INITIATION A LA POO EN JAVA
Accès Privé / Accès Public
 Un attribut ou une méthode sont dits publics si
leur utilisation est autorisée en dehors de la classe et
le signe caractérisant ce caractère est le signe plus
« + » dans le diagramme de classe (modélisation
UML).

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 190


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 La conception d’un logiciel est avant tout un
problème d’architecture et lorsque vous connaissez
les outils et les classes, vous devez ensuite les mettre
en relation pour construire un ensemble harmonieux
qui soit le plus simple possible.

 Il existe quatre types de relations entre les classes et


nous allons les décrire pour que le moment venu,
vous fassiez le bon choix.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 191
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 La première relation entre deux classes est
l’association et son utilisation est naturelle.

 En effet, lorsque vous choisirez les classes à utiliser


pour concevoir une application, il sera inévitable que
certaines d’entre elles soient conceptuellement
associées.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 192


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Deux classes sont liées par une relation d’association
lorsqu’elles sont unies par un lien conceptuel c’est-à-
dire que les deux classes se connaissent et chacune
possède un rôle dans l’association.

 Prenons l’exemple classique des étudiants et de leurs


cours. Les deux classes associées (classe « Etudiant »
et classe « Cours ») n’ont a priori rien en commun.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 193
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 La matière sera caractérisée par exemple par son
intitulé et l’étudiant sera défini par son nom et son
numéro d’étudiant. Mais les deux classes sont quand
même associées l’une l’autre, au même niveau.

 En effet, une matière a besoin des étudiants pour être


enseignée, tout comme l’étudiant a besoin de suivre
certains cours pour apprendre et exister en tant
qu’étudiant.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 194
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 L’association est une relation utile puisqu’elle
permet de structurer les classes entre elles,
notamment grâce à des classes d’association.

 La conception de deux classes en relation


d’association peut être complétée par l’existence
d’une troisième classe, appelée classe d’association,
qui permet de spécifier les fonctionnalités de la
liaison.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 195
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Nous allons aborder un concept cher aux
informaticiens à savoir, « la réutilisation des
programmes déjà écrits » et on pourra écrire des
classes en leur choisissant pour attributs d’autres
classes.

 Si une classe est une partie d’une autre, il s’agit là


d’une conception utilisant une relation
d’agrégation entre la nouvelle classe et la classe
attribut.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 196
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Les deux objets n’ont pas la même importance dans
cette relation dite alors dissymétrique, en effet deux
classes sont liées par une relation d’agrégation
lorsque la première permet de créer la deuxième
: l’ancienne classe fait partie de la nouvelle classe.

 Les deux classes ne sont pas au même niveau : une


classe contient l’autre.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 197
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 L’objet agrégat, appelé aussi objet composite, est
celui qui contient comme attribut un autre objet
(objet agrégé).

 L’objet agrégé, appelé aussi objet composant, est


celui qui est contenu dans un autre objet (objet
agrégat).

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 198


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 La « relation de composition » est une « relation
d’agrégation du type un contenant dans un
contenu ».

 La composition de deux objets implique l’existence


des deux : l’existence de l’un n’aurait pas de sens
sans l’autre.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 199


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 La relation de composition est la plus simple à utiliser
pendant la phase de conception de nouvelles classes
et tout comme l’agrégation, la composition permet
d’utiliser des classes comme attributs d’une nouvelle
classe.

 La différence entre l’agrégation et la composition


dépend des propriétés de la liaison entre les deux
objets.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 200
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Lors de la composition, l’objet agrégat contient un
nombre déterminé d’objets agrégés (en général, un
seul).

 L’objet agrégé ne doit son existence que pour assurer


celle de l’agrégat et réciproquement, l’existence de
l’agrégat n’a plus de sens sans l’objet composant.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 201


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 L’héritage est une technique très puissante
permettant de concevoir et d’écrire des classes
simplement, rapidement et de manière très lisible.

 Tout comme l’agrégation et la composition


permettent de profiter des instances d’une autre
classe, l’héritage permet de profiter directement d’une
autre classe à travers sa structure.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 202
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Une classe conçue par héritage est appelée « classe
fille » et est la spécialisation d’une classe existante
appelée « classe mère ».

 Une « classe mère », appelée aussi « super classe »


ou « classe parent », est la classe qui lègue
l’ensemble de ses propriétés par héritage.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 203


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Les deux « classe fille » et « classe mère »
définissent alors une relation de généralisation.

 La classe fille possède par définition toutes les


propriétés de la classe mère, à savoir les attributs et
les méthodes, plus d’autres propriétés qui la
distinguent.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 204


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 L’héritage, ou la relation de généralisation, précise
pour deux classes que l’une est une spécialisation de
l’autre et la classe héritière possède l’ensemble des
attributs et des méthodes de la classe parent, plus les
siens propres.

 Une classe fille, appelée aussi sous-classe, est une


nouvelle classe ayant acquis par définition de
l’héritage, tous les attributs et toutes les méthodes de
la classe mère.
Initiation JAVA - Par Monsieur Bienvenu KOMBILA 205
INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Les classes filles « spécialisent » la classe mère car
l’héritage nous permet de spécialiser des classes.

 Le polymorphisme permet lui, grâce à l’héritage


bien-entendu, d’utiliser une instance de classe sous
deux aspects, à savoir : celui de sa classe associée et
celui de sa classe mère.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 206


INITIATION A LA POO EN JAVA
Relations Entre Les Classes
 Une Classe abstraite ne peut pas être instanciée, car
elle a été conçue dans le seul but de construire un ou
des héritages.

 L’héritage multiple permet de définir une classe


comme la spécialisation de plusieurs classes mères.

Initiation JAVA - Par Monsieur Bienvenu KOMBILA 207

Vous aimerez peut-être aussi