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
10/04/2021 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.
10/04/2021 T.HAJJI-POO 3
INTRODUCTION
Algorithme:
10/04/2021 T.HAJJI-POO 4
PROGRAMMATION STRUCTURE EN C/C++
10/04/2021 T.HAJJI-POO 5
DÉFINITION DE JAVA
10/04/2021 T.HAJJI-POO 6
DÉFINITION DE JAVA
10/04/2021 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/
10/04/2021 T.HAJJI-POO 8
Mes Premiers Programmes JAVA
10/04/2021 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.
10/04/2021 T.HAJJI-POO 12
Portabilité
10/04/2021 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
10/04/2021 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;
10/04/2021 T.HAJJI-POO 15
Variables de base TYPES PRIMITIFS
10/04/2021 T.HAJJI-POO 16
DÉCLARATION DE VARIABLES
10/04/2021 T.HAJJI-POO 17
QUIZ!
Déclarer des variables pour sauvegarder les
valeurs suivants:
Valeurs Valeurs
120 999999999999999998
999999999 2.0E37f
32767 2.0E308
10/04/2021 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;
10/04/2021 T.HAJJI-POO 19
AFFECTATION ET CASTING
10/04/2021 T.HAJJI-POO 20
TAILLE DE VARIABLES JAVA
10/04/2021 T.HAJJI-POO 21
LES OPÉRATEURS DE CALCUL
10/04/2021 T.HAJJI-POO 22
LES OPÉRATEURS D'ASSIGNATION ET
D'INCRÉMENTATION
10/04/2021 T.HAJJI-POO 23
LES OPÉRATEURS DE COMPARAISON
10/04/2021 T.HAJJI-POO 24
LES OPÉRATEURS DE COMPARAISON
10/04/2021 T.HAJJI-POO 25
LES OPÉRATEURS LOGIQUES
(BOOLÉENS)
10/04/2021 T.HAJJI-POO 26
LES OPÉRATEURS BIT-À-BIT
10/04/2021 T.HAJJI-POO 27
LECTURE/ECRITURE DANS UNE
VARIABLE
Utilisation
d’un nouveau
objet
10/04/2021 T.HAJJI-POO 28
LECTURE/ECRITURE DANS UNE
VARIABLE
PARAMÈTRE DU
NOM DE LA CLASS OPÉRATEUR JAVA
CONSTRUCTEUR
10/04/2021 T.HAJJI-POO 29
TRAITEMENT CONDITIONNEL
L'instruction if ... Else:
if (condition réalisée) {
liste d'instructions
}else {
autre série d'instructions
}
10/04/2021 T.HAJJI-POO 30
TRAITEMENT CONDITIONNEL
• L'instruction if ... Else if:
10/04/2021 T.HAJJI-POO 31
OPÉRATEUR TERNAIRE
(condition) ? instruction si vrai : instruction si
faux;
10/04/2021 T.HAJJI-POO 32
CHOIX MULTIPLES: SWITCH
If (c == ‘a ’)
If (c == ‘b ’)
If (c == ‘b ’)
10/04/2021 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;
}
10/04/2021 T.HAJJI-POO 34
FONCTIONS ET PROCÉDURES MÉTHODES
Surcharge
de
méthodes
10/04/2021 T.HAJJI-POO 35
SURCHARGE DE MÉTHODES!!!
10/04/2021 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.
10/04/2021 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)
10/04/2021 T.HAJJI-POO 38
CORRECTION EXERCICE 1
10/04/2021 T.HAJJI-POO 39
CORRECTION EXERCICE 2
10/04/2021 T.HAJJI-POO 40
CORRECTION EXERCICE 2
10/04/2021 T.HAJJI-POO 41
CORRECTION EXERCICE 3
10/04/2021 T.HAJJI-POO 42
CORRECTION EXERCICE 3
10/04/2021 T.HAJJI-POO 43
SÉANCE 3
INSTRUCTIONS DE CONTRÔLE:
For
While
Do
TABLEAUX:
de dimension 1
à plusieurs dimensions
EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 44
INSTRUCTION RÉPÉTITIVE / WHILE
10/04/2021 T.HAJJI-POO 45
INSTRUCTION RÉPÉTITIVE / BOUCLE
IMBRIQUÉE
10/04/2021 T.HAJJI-POO 46
INSTRUCTION RÉPÉTITIVE / DO
10/04/2021 T.HAJJI-POO 47
INSTRUCTION RÉPÉTITIVE / FOR
10/04/2021 T.HAJJI-POO 48
INSTRUCTION DE BRANCHEMENT /
INSTRUCTION BREAK
10/04/2021 T.HAJJI-POO 49
INSTRUCTION DE BRANCHEMENT /
INSTRUCTION CONTINUE
10/04/2021 T.HAJJI-POO 50
INSTRUCTION DE BRANCHEMENT / ÉTIQUETTE
10/04/2021 T.HAJJI-POO 51
TABLEAUX/ DÉCLARATION
La déclaration
ne fait pas la
création de
l’objet
10/04/2021 T.HAJJI-POO 52
TABLEAUX/ INSTANCIATION
0 1
tab1
lenth 0 2 lenth
0 3
tab2
0 4
10/04/2021 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
10/04/2021 T.HAJJI-POO 54
TABLEAUX/MULTIDIMENSIONNELS
10/04/2021 T.HAJJI-POO 55
TABLEAUX/MULTIDIMENSIONNELS
La taille du Déclaration et
10/04/2021 tableau i T.HAJJI-POO
instanciation
56
TABLEAUX ET FONCTIONS
10/04/2021 T.HAJJI-POO 57
TABLEAUX ET FONCTIONS (MÉTHODES)
10/04/2021 T.HAJJI-POO 58
EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 59
CORRECTION DES EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 60
CORRECTION DES EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 61
CORRECTION DES EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 62
LA METHODE INIT
10/04/2021 T.HAJJI-POO 63
LA METHODE AFFICHER
10/04/2021 T.HAJJI-POO 64
LA METHODE RECHERCHER
10/04/2021 T.HAJJI-POO 65
LA METHODE SOMME
10/04/2021 T.HAJJI-POO 66
LA METHODE MULTIPLICATION 1/2
10/04/2021 T.HAJJI-POO 67
LA METHODE MULTIPLICATION 2/2
10/04/2021 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
10/04/2021 T.HAJJI-POO 69
CLASS ET OBJECT
Variables
10/04/2021 T.HAJJI-POO 70
CLASS ET OBJECT
10/04/2021 T.HAJJI-POO 72
CLASS ET OBJECT/ LA DÉCLARATION
10/04/2021 T.HAJJI-POO 73
CLASS ET OBJECT/ L’INSTANCIATION
10/04/2021 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.
10/04/2021 T.HAJJI-POO 75
NIVEAUX DE VISIBILITÉ/ PUBLIC ET PRIVATE
Immat et compteur
ont private comme
niveau de visibilité
10/04/2021 T.HAJJI-POO 76
NIVEAUX DE VISIBILITÉ/ PUBLIC ET PRIVATE
Compteur
est
inaccessible
directement
depuis une
autre
class!!!
10/04/2021 T.HAJJI-POO 77
ACCESSEURS ET MODIFICATEURS/ GETTERS
AND SETTERS
GETTERS
SETTERS
10/04/2021 T.HAJJI-POO 78
ACCESSEURS ET MODIFICATEURS/ GETTERS
AND SETTERS
SETTERS
GETTERS
10/04/2021 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.
10/04/2021 T.HAJJI-POO 82
SURCHARGE DE CONSTRUCTEUR
10/04/2021 T.HAJJI-POO 83
EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 84
CORRECTION 1 EXERCICES D’APPLICATION
10/04/2021 T.HAJJI-POO 85
EXERCICES D’APPLICATION
10/04/2021 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
10/04/2021 T.HAJJI-POO 87
CHAMPS DE CLASS ET CHAMPS D’OBJET
10/04/2021 T.HAJJI-POO 88
TABLEAUX D’OBJETS
10/04/2021 T.HAJJI-POO 89
Séance 5
Héritage
Redéfinition
Héritage et constructeurs
Abstraction
Interface
Polymorphisme
Exercices D’application
10/04/2021 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.
10/04/2021 T.HAJJI-POO 92
Héritage JAVA
10/04/2021 T.HAJJI-POO 93
Héritage JAVA
10/04/2021 T.HAJJI-POO 94
Redéfinition
10/04/2021 T.HAJJI-POO 95
Redéfinition
10/04/2021 T.HAJJI-POO 96
Héritage et constructeur
10/04/2021 T.HAJJI-POO 98
Héritage et constructeur (super)
10/04/2021 T.HAJJI-POO 99
Abstraction