Académique Documents
Professionnel Documents
Culture Documents
HAJJI TARIK
ENSAM
2020/2021
SÉANCE 1
Généralités Sur La Programmation
Programmation Structurée En C/C++
Définition De JAVA
JDK Développement Kit
Environnement Eclipse
Mes Premiers Programmes JAVA
17/03/2022 T.HAJJI-POO 2
INTRODUCTION
La programmation:
appelée aussi codage dans le domaine
informatique, est l'ensemble des activités qui
permettent l'écriture des programmes
informatiques.
Un programme informatique:
est un ensemble d'opérations destinées à être
exécutées par un ordinateur.
Un programme source est un code écrit par un
informaticien dans un langage de programmation.
17/03/2022 T.HAJJI-POO 3
INTRODUCTION
Algorithme:
17/03/2022 T.HAJJI-POO 4
PROGRAMMATION STRUCTURE EN C/C++
17/03/2022 T.HAJJI-POO 5
DÉFINITION DE JAVA
17/03/2022 T.HAJJI-POO 6
DÉFINITION DE JAVA
17/03/2022 T.HAJJI-POO 7
JDK ET ECLIPSE
JDK:
https://www.oracle.com/java/technologies/ja
vase/javase-jdk8-downloads.html
Configuration des variables d’environnement
Eclipse:
https://www.eclipse.org/downloads/
17/03/2022 T.HAJJI-POO 8
Mes Premiers Programmes JAVA
17/03/2022 T.HAJJI-POO 11
JVM
La Machine Virtuelle
Java est un logiciel
spécifique à chaque
plate-forme qui exécute
des programmes
compilés sous forme de
bytecode Java.
La JVM permet la
portabilité pour le
langage JAVA.
17/03/2022 T.HAJJI-POO 12
Portabilité
17/03/2022 T.HAJJI-POO 13
SÉANCE 2
Variables de base TYPES PRIMITIFS:
Opérations sur les variables:
Affectation et casting
Opérations mathématiques
Lecture/Ecriture dans une variable
Traitement conditionnel:
If /else /switch / opérateur unaire
Fonctions et procédures MÉTHODES
Signature d’une méthode
Définition d’une méthode
Invocation d’une Méthode
Exercices d’application
17/03/2022 T.HAJJI-POO 14
Variables de base TYPES PRIMITIFS
Une variable est une case mémoire (adresse
physique dans la RAM) caractérisée par un
nom (identificateur), un type qui indique sa
taille et la nature de son contenu.
Pour utiliser une variable il faut la déclarer via
un identificateur et un type:
Type identificateur;
Exemple: int x;
17/03/2022 T.HAJJI-POO 15
Variables de base TYPES PRIMITIFS
17/03/2022 T.HAJJI-POO 16
DÉCLARATION DE VARIABLES
17/03/2022 T.HAJJI-POO 17
QUIZ!
Déclarer des variables pour sauvegarder les
valeurs suivants:
Valeurs Valeurs
120 999999999999999998
999999999 2.0E37f
32767 2.0E308
17/03/2022 T.HAJJI-POO 18
AFFECTATION ET CASTING
Affectation:
Variable = Valeur convenable (de même type que la
variable)
int a = 5;
int b = a;
Casting (changement de type d’une valeur):
Implicite: de type plus petit vers le type le plus grand:
int a = 5; float b = 6; b = a;
Explicite: de type plus grand vers le type le plus petit:
int a = 5; float b = 6; a = (int) b;
17/03/2022 T.HAJJI-POO 19
AFFECTATION ET CASTING
17/03/2022 T.HAJJI-POO 20
TAILLE DE VARIABLES JAVA
17/03/2022 T.HAJJI-POO 21
LES OPÉRATEURS DE CALCUL
17/03/2022 T.HAJJI-POO 22
LES OPÉRATEURS D'ASSIGNATION ET
D'INCRÉMENTATION
17/03/2022 T.HAJJI-POO 23
LES OPÉRATEURS DE COMPARAISON
17/03/2022 T.HAJJI-POO 24
LES OPÉRATEURS DE COMPARAISON
17/03/2022 T.HAJJI-POO 25
LES OPÉRATEURS LOGIQUES
(BOOLÉENS)
17/03/2022 T.HAJJI-POO 26
LES OPÉRATEURS BIT-À-BIT
17/03/2022 T.HAJJI-POO 27
LECTURE/ECRITURE DANS UNE
VARIABLE
Utilisation
d’un nouveau
objet
17/03/2022 T.HAJJI-POO 28
LECTURE/ECRITURE DANS UNE
VARIABLE
PARAMÈTRE DU
NOM DE LA CLASS OPÉRATEUR JAVA
CONSTRUCTEUR
17/03/2022 T.HAJJI-POO 29
TRAITEMENT CONDITIONNEL
L'instruction if ... Else:
if (condition réalisée) {
liste d'instructions
}else {
autre série d'instructions
}
17/03/2022 T.HAJJI-POO 30
TRAITEMENT CONDITIONNEL
• L'instruction if ... Else if:
17/03/2022 T.HAJJI-POO 31
OPÉRATEUR TERNAIRE
(condition) ? instruction si vrai : instruction si
faux;
17/03/2022 T.HAJJI-POO 32
CHOIX MULTIPLES: SWITCH
If (c == ‘a ’)
If (c == ‘b ’)
If (c == ‘b ’)
17/03/2022 T.HAJJI-POO 33
FONCTIONS ET PROCÉDURES MÉTHODES
Inputs Output
Algorithme:
Paramètres de la méthode définition de
la méthode
output nom (inputs){
//algorithme
return output;
}
17/03/2022 T.HAJJI-POO 34
FONCTIONS ET PROCÉDURES MÉTHODES
Surcharge
de
méthodes
17/03/2022 T.HAJJI-POO 35
SURCHARGE DE MÉTHODES!!!
17/03/2022 T.HAJJI-POO 36
EXERCICES D’APPLICATION
Écrire un programme JAVA qui déclare deux va
riables a et b de type int et qui demande à l’uti
lisateur de saisir les valeurs par le clavier. Puis
on affiche la somme, la soustraction, la multipl
ication et la division de a par b.
Écrire une méthode qui prend comme
arguments 3 variables de type int et affiche
ces variables triées dans l’ordre croissant.
17/03/2022 T.HAJJI-POO 37
EXERCICES D’APPLICATION
On vous demande de reprendre l’exercice
précédent d’application 1.
Au lieu d’afficher les 4 opérations à la fois. On
demande à l’utilisateur de spécifier l’opération
à effectuer:
Ajouter une variable choix de type byte;
Demander à l ’utilisateur de choisir l’opération
souhaitée selon le code (1 l’addition; 2 la
multiplication; 3 la soustraction; 4 la
division)
17/03/2022 T.HAJJI-POO 38
CORRECTION EXERCICE 1
17/03/2022 T.HAJJI-POO 39
CORRECTION EXERCICE 2
17/03/2022 T.HAJJI-POO 40
CORRECTION EXERCICE 2
17/03/2022 T.HAJJI-POO 41
CORRECTION EXERCICE 3
17/03/2022 T.HAJJI-POO 42
CORRECTION EXERCICE 3
17/03/2022 T.HAJJI-POO 43
SÉANCE 3
INSTRUCTIONS DE CONTRÔLE:
For
While
Do
TABLEAUX:
de dimension 1
à plusieurs dimensions
EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 44
INSTRUCTION RÉPÉTITIVE / WHILE
17/03/2022 T.HAJJI-POO 45
INSTRUCTION RÉPÉTITIVE / BOUCLE
IMBRIQUÉE
17/03/2022 T.HAJJI-POO 46
INSTRUCTION RÉPÉTITIVE / DO
17/03/2022 T.HAJJI-POO 47
INSTRUCTION RÉPÉTITIVE / FOR
17/03/2022 T.HAJJI-POO 48
INSTRUCTION DE BRANCHEMENT /
INSTRUCTION BREAK
17/03/2022 T.HAJJI-POO 49
INSTRUCTION DE BRANCHEMENT /
INSTRUCTION CONTINUE
17/03/2022 T.HAJJI-POO 50
INSTRUCTION DE BRANCHEMENT / ÉTIQUETTE
17/03/2022 T.HAJJI-POO 51
TABLEAUX/ DÉCLARATION
La déclaration
ne fait pas la
création de
l’objet
17/03/2022 T.HAJJI-POO 52
TABLEAUX/ INSTANCIATION
0 1
tab1
lentgh 0 2 lentgh
0 3
tab2
0 4
17/03/2022 T.HAJJI-POO 53
TABLEAUX/ INDEXATION
1 tab[0]
tab
tab.length
2 tab[1]
contient la
3 tab[2]
taille du
4 tab[3] tableau
17/03/2022 T.HAJJI-POO 54
TABLEAUX/MULTIDIMENSIONNELS
17/03/2022 T.HAJJI-POO 55
TABLEAUX/MULTIDIMENSIONNELS
La taille du Déclaration et
17/03/2022 tableau i T.HAJJI-POO
instanciation
56
TABLEAUX ET FONCTIONS
17/03/2022 T.HAJJI-POO 57
TABLEAUX ET FONCTIONS (MÉTHODES)
17/03/2022 T.HAJJI-POO 58
EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 59
CORRECTION DES EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 60
CORRECTION DES EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 61
CORRECTION DES EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 62
LA METHODE INIT
17/03/2022 T.HAJJI-POO 63
LA METHODE AFFICHER
17/03/2022 T.HAJJI-POO 64
LA METHODE RECHERCHER
17/03/2022 T.HAJJI-POO 65
LA METHODE SOMME
17/03/2022 T.HAJJI-POO 66
LA METHODE MULTIPLICATION 1/2
17/03/2022 T.HAJJI-POO 67
LA METHODE MULTIPLICATION 2/2
17/03/2022 T.HAJJI-POO 68
SÉANCE 4
NOTION DE CLASS ET OBJECT
DÉCLARATION D’UNE CLASS
CHAMPS D’UNE CLASS
MÉTHODES D’UNE CLASS
CONSTRUCTEURS D’UNE CLASS
INSTANCIATION DES OBJECT
NIVEAUX DE VISIBILITÉ DANS UNE CLASS
EXERCICES D’APPLICATION
CHAMPS DE CLASS VS CHAMPS D’OBJET
TABLEAUX D’OBJETS
17/03/2022 T.HAJJI-POO 69
CLASS ET OBJECT
Variables
17/03/2022 T.HAJJI-POO 70
CLASS ET OBJECT
17/03/2022 T.HAJJI-POO 72
CLASS ET OBJECT/ LA DÉCLARATION
17/03/2022 T.HAJJI-POO 73
CLASS ET OBJECT/ L’INSTANCIATION
17/03/2022 T.HAJJI-POO 74
NIVEAUX DE VISIBILITÉ/ PUBLIC ET PRIVATE
Si un attribut ou une
méthode est déclaré
dans une class avec
le niveau de
visibilité public alors
il est directement
accessible depuis
une autre class sans
passer par une
autre fonction
auxiliaire.
17/03/2022 T.HAJJI-POO 75
NIVEAUX DE VISIBILITÉ/ PUBLIC ET PRIVATE
Immat et compteur
ont private comme
niveau de visibilité
17/03/2022 T.HAJJI-POO 76
NIVEAUX DE VISIBILITÉ/ PUBLIC ET PRIVATE
Compteur
est
inaccessible
directement
depuis une
autre
class!!!
17/03/2022 T.HAJJI-POO 77
ACCESSEURS ET MODIFICATEURS/ GETTERS
AND SETTERS
GETTERS
SETTERS
17/03/2022 T.HAJJI-POO 78
ACCESSEURS ET MODIFICATEURS/ GETTERS
AND SETTERS
SETTERS
GETTERS
17/03/2022 T.HAJJI-POO 79
CONSTRUCTEUR PAR DÉFAUT
Pour réactiver le
constructeur par défaut
il faut l’ajouter le
surcharger dans la class.
17/03/2022 T.HAJJI-POO 82
SURCHARGE DE CONSTRUCTEUR
17/03/2022 T.HAJJI-POO 83
EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 84
CORRECTION 1 EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 85
EXERCICES D’APPLICATION
17/03/2022 T.HAJJI-POO 86
CORRECTION 2 EXERCICES D’APPLICATION
Utilisation de la
class Point comme
un champ pour la
class Cercle.
Vous avez une
relation de
composition entre
la class Point et la
class Cercle
17/03/2022 T.HAJJI-POO 87
CHAMPS DE CLASS ET CHAMPS D’OBJET
17/03/2022 T.HAJJI-POO 88
TABLEAUX D’OBJETS
17/03/2022 T.HAJJI-POO 89
Séance 5
Héritage
Redéfinition
Héritage et constructeurs
Abstraction
Interface
Polymorphisme
Exercices D’application
17/03/2022 T.HAJJI-POO 90
Héritage VS Composition
Duplication du code
Une modification faite sur un attribut ou une
méthode doit être refaite dans les autres classes.
17/03/2022 T.HAJJI-POO 92
Héritage JAVA
17/03/2022 T.HAJJI-POO 93
Héritage JAVA
17/03/2022 T.HAJJI-POO 94
Redéfinition
17/03/2022 T.HAJJI-POO 95
Redéfinition
17/03/2022 T.HAJJI-POO 96
Héritage et constructeur
17/03/2022 T.HAJJI-POO 98
Héritage et constructeur (super)
cons par defaut
constructeur par défaut
17/03/2022 T.HAJJI-POO 99
Abstraction
Plantage du
programme