Software">
[Go to site: main page, start]

0% ont trouvé ce document utile (0 vote)
9 vues64 pages

Introduction à la Programmation Java

Le document présente le plan du cours de Programmation Orientée Objet en Java pour l'année universitaire 2025/2026 à l'Université Cadi Ayyad. Il couvre l'histoire de Java, les différences entre compilateurs et interpréteurs, les conventions de nommage, l'environnement de travail Java, ainsi que la syntaxe du langage. Le cours est dirigé par le Pr. Ilyass OUAZZANI TAYBI et inclut des ateliers pratiques pour familiariser les étudiants avec l'utilisation d'Eclipse.

Transféré par

samidos0303
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues64 pages

Introduction à la Programmation Java

Le document présente le plan du cours de Programmation Orientée Objet en Java pour l'année universitaire 2025/2026 à l'Université Cadi Ayyad. Il couvre l'histoire de Java, les différences entre compilateurs et interpréteurs, les conventions de nommage, l'environnement de travail Java, ainsi que la syntaxe du langage. Le cours est dirigé par le Pr. Ilyass OUAZZANI TAYBI et inclut des ateliers pratiques pour familiariser les étudiants avec l'utilisation d'Eclipse.

Transféré par

samidos0303
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Licence ISI

Royaume du Maroc
Université Cadi Ayyad
Faculté des Sciences Semlalia
Marrakech

Programmation Orientée objet


Java
Pr. Ilyass OUAZZANI TAYBI
E-mail : [Link]@[Link]
Département : Informatique FSSM
Université Cadi Ayyad
Licence SINF S5

1
Année universitaire : 2025/2026
Plan du cours

CHAPITRE 1 : INTRODUCTION À JAVA

1. Un peu d’histoire
2. Compilateur et Interpréteur
3. Conventions de nommage
4. Environnement de travail Java
5. Syntaxe du langage Java

Pr. Ilyass OUAZZANI TAYBI Faculté des Sciences Semlalia - Marrakech 3


I. Un peu d’histoire

Générations de langages de programmation


Génération Exemples Description
Instructions directement comprises
1ère génération Langage machine (binaire)
par le processeur
2ème génération Assembleur Langage symbolique bas-niveau
3ème génération C, C++, Java, Python, Pascal… Langages de haut niveau, lisibles par
l'humain
4ème génération SQL, MATLAB, R, SAS… Langages déclaratifs pour
applications spécifiques
5ème génération Prolog, Mercury (IA, logique) Langages basés sur la logique ou les
contraintes, souvent utilisés en
intelligence artificielle

4
I. Un peu d’histoire
Langage Java
➢ Le langage Java est né en 1991, au sein d’une équipe de Sun Microsystems, dans
un projet secret appelé "Green Project".
➢ Il a été conçu par James Gosling, qui l’a d’abord appelé « Oak », en référence à
un chêne visible depuis la fenêtre de son bureau.
➢ Objectif initial : étudier l’impact de la convergence entre les systèmes
embarqués et les ordinateurs personnels (PC).
➢ Avec l’essor du protocole HTTP et du Web, James Gosling a participé, en 1995, à
la démonstration d’un navigateur capable d’afficher du contenu HTML enrichi
avec des applets Java. 5
I. Un peu d’histoire

Langage Java
➢ L’évolution du langage a ensuite été prise en charge par la
division JavaSoft (filiale de Sun Microsystems).
➢ Le langage Java a été officiellement annoncé en 1995 avec une version bêta du
JDK (Java Development Kit), tandis que la première version publique et stable,
le JDK 1.0, est sortie en 1996.
➢ La version la plus récente est JDK 25 (2025)
([Link]

6
I. Un peu d’histoire

Langage Java
Trois environnements d’exécution de Java:
➢ Java SE (Standard Edition) : destiné principalement aux applications de bureau
(desktop). C’est l’édition de base qui fournit le langage, le JDK et les
bibliothèques fondamentales.
➢ Java EE (Enterprise Edition) : conçu pour les applications serveur et d’entreprise.
Il repose sur Java SE mais ajoute d’autres technologies (Servlet, JSP, EJB, …).
➢ Java ME (Micro Edition) : destiné aux appareils mobiles et embarqués (PDA,
téléphones, cartes SIM, etc.). C’est une version allégée de Java SE, avec certains
paquetages en moins pour s’adapter aux contraintes matérielles.

7
II. Compilateur et Interpréteur

Traduction

Langage haut niveau Langage machine

Les Compilateurs et les Interpréteurs sont des traducteurs de langage de


programmation de haut niveau en séries d’instructions-machine directement
exécutables par l’ordinateur.

8
II. Compilateur et Interpréteur
Compilateur
➢ Le compilateur est un programme qui traduit l’intégralité du code source en une seule
fois, généralement vers un langage intermédiaire (bytecode) ou directement en code
machine exécutable par l’ordinateur.
➢ Avantages :
➢ Exécution plus rapide car le code est déjà traduit en langage machine,
➢ Détection des erreurs de syntaxe avant l’exécution.
➢ Inconvénients :
➢ Un simple changement dans le code nécessite une recompilation complète,
➢ Temps de compilation parfois long.
➢ Le code machine généré dépend de l’architecture matérielle, ce qui limite la portabilité
➢ Exemples : C, C++, Java (compilé en bytecode puis exécuté par la JVM).
9
II. Compilateur et Interpréteur
Compilateur
010
010

010

Compilateur 010 Editeur de lien


010

Code source objet réutilisable Code exécutable

➢ Lors de la compilation, chaque fichier source (.c, .cpp, etc.) est compilé
séparément.
➢ Cela produit un fichier objet par fichier source (.o sous Linux, .obj sous Windows).
➢ Ensuite, l’éditeur de liens (linker) regroupe tous ces fichiers objets + les
bibliothèques pour générer un seul executable.
10
II. Compilateur et Interpréteur
Interpréteur
➢ L’interpréteur est un programme qui traduit et exécute le code source ligne par ligne ou
instruction par instruction, sans produire de fichier exécutable indépendant.
➢ Avantages :
➢ Pas de phase de compilation préalable : exécution immédiate du programme.
➢ Flexibilité : possibilité de tester et modifier rapidement le code.
➢ Portabilité : le même code peut s’exécuter sur différentes plateformes, à condition que
l’interpréteur soit disponible.
➢ Inconvénients :
➢ Exécution plus lente, car le code est traduit à chaque lancement.
➢ Erreurs détectées uniquement à l’exécution, pas en amont.
➢ Nécessite la présence de l’interpréteur sur la machine cible.
➢ Exemples : Python, JavaScript, Ruby, PHP, Java (partiellement interprété : bytecode exécuté
par la JVM). 11
II. Compilateur et Interpréteur
Interpréteur

Exécution
Interpréteur directe sur
machine
Traduction
Code source
ligne par ligne

➢ Le code est exécuté directement par l’interpréteur, instruction par instruction.


➢ Pas de fichier exécutable indépendant généré.
➢ L’exécution est plus lente mais plus flexible et portable.

12
II. Compilateur et Interpréteur

Catégorie Définition Caractéristiques Exemples


- Production d’un exécutable indépendant.
Le code source est entièrement C, C++, Fortran,
Langages - Exécution très rapide.
traduit en code machine natif par Pascal, Ada,
compilés - Dépendance à l’architecture matérielle.
un compilateur avant exécution. COBOL
- Temps de compilation parfois long.
Langages Le code source est traduit et - Grande flexibilité et interactivité. Python,
interprétés exécuté instruction par - Plus lents à l’exécution. JavaScript, Ruby,
instruction par un interpréteur. - Pas d’exécutable natif autonome. PHP
- Idéal pour le scripting, le web et le
prototypage rapide.
Langages Combinaison compilation + - Portabilité entre systèmes (Write Once, Java (JVM), C#
hybrides interprétation : le code source est Run Anywhere). (.NET CLR), Kotlin,
compilé en bytecode intermédiaire, - Performances correctes (optimisations Scala
puis exécuté par une machine JIT).
virtuelle ou un interpréteur. - Dépend d’une machine virtuelle (JVM,
CLR).
13
II. Compilateur et Interpréteur
Exécution d’un programme Java Exécution
JVM
Unix
Fichier Compilation Bytecode JVM
de code Java Windows
[Link] javac [Link] JVM
MacOS
➢ Le code source .java est compilé par javac en bytecode contenu dans un fichier .class.
➢ Ce bytecode est interprété ou compilé à la volée (JIT: Just In Time) par la Java Virtual
Machine (JVM), qui se charge de l’exécution sur la machine hôte.

❑ Le bytecode est un langage intermédiaire entre le code source écrit par le


programmeur et le code machine compréhensible par le processeur.
14
II. Compilateur et Interpréteur
Exécution d’un programme Java
Avantages :
➢ Portabilité totale : le bytecode peut s’exécuter sur n’importe quel système disposant
d’une JVM (Write Once, Run Anywhere).
➢ Optimisations dynamiques grâce au compilateur JIT (Just-In-Time), qui traduit les
portions de code fréquemment utilisées en code machine natif.
➢ Sécurité renforcée : la JVM fournit une couche de protection.
Inconvénients :
➢ Performance moindre par rapport à un langage compilé natif (comme C/C++), car il y a
une étape intermédiaire (bytecode + JVM).
➢ Dépendance à la JVM : nécessité d’avoir la machine virtuelle installée.
➢ Temps de démarrage plus long qu’un exécutable natif, car la JVM doit être initialisée.
15
II. Compilateur et Interpréteur
Exécution d’un programme Java
Fichier source Exécution sur CPU

compilation Interprétation
Bytecode
commande : javac [Link]
[Link]

b- ! p qs tu
[Link] twxyé<iit>‘b()

public class Salut {


public static void main (String[] args) {
[Link]("Salut !!");
}
}

commande : java salut Salut !!

L’interpréteur Java s’appelle la machine virtuelle Java


(Java Virtual Machine (JVM)) 16
III. Conventions de nommage
Conventions de nommage en JAVA

➢ Nom de classe/interface :
➢ Commencer chaque mot par une majuscule (PascalCase)
➢ Exemple : MaClasse, MonPremierProgramme
➢ Nom de variable ou méthode :
➢ Commencer chaque mot par une majuscule, sauf le premier (camelCase)
➢ Exemple : maPremiereVariable, var1, maPremiereMethode, main
➢ Constantes :
➢ Tout en majuscules avec underscores:
➢ Exemple : MA_CONSTANTE, PI

17
IV. Environnement de travail Java
Rôle du JDK

➢ Le JDK (Java Development Kit en anglais, Kit de Développement Java en Français)


représente l’outillage indispensable au développeur Java.

➢ Ce kit contient les outils nécessaires pour programmer, exécuter, tester et livrer des
programmes java.

18
IV. Environnement de travail Java
Téléchargement :
➢ Le JDK peut être téléchargé gratuitement à partir du site d’oracle sur
([Link] .

19
IV. Environnement de travail Java
Deux façons d’écrire des programmes Java :
➢ En écrivant le code dans un simple éditeur de texte
➢ Compilation et exécution du code en ligne de commande DOS
➢ Exemple d’éditeurs de textes:
➢ Sublime Text ([Link]
➢ Atom ([Link]
➢ Brackets ([Link]
➢ Notepad++ ([Link]
➢…
➢ En utilisant un environnement de développement (IDE)
➢ Netbeans ([Link]
➢ Elipse ([Link]
➢ Visual Studio Code (+ extensions Java) ([Link]
➢…
30
IV. Environnement de travail Java
Eclipse
➢ Eclipse est très utilisé dans le monde académique et professionnel.
➢ Pour le lancer, il suffit de double-cliquer sur le fichier exécutable « [Link] »
présent dans le répertoire ‘eclipse’.

31
IV. Environnement de travail Java
Eclipse
➢ Un écran apparaît ensuite pour vous demander le ‘workspace‘ (Répertoire de travail).
C’est dans ce répertoire que Eclipse stockera les programmes (*.java) et fichiers de
configuration (*.xml, *.properties, …) de vos projets.

32
IV. Environnement de travail Java
Eclipse
➢ Une fois Eclipse est lancé, on peut
voir un ensemble de vues, où une
vue est une petite fenêtre possédant
des informations particulières.
➢ Par exemple vous pouvez voir les
vues ‘Problems’, ‘Javadoc’ et
‘Declaration’

33
IV. Environnement de travail Java
Création projet Java
Menu File/new/Java Project

34
IV. Environnement de travail Java
Création projet Java

➢ puis bouton ‘Next’. L’écran suivant


s’affiche.
➢ Et en cliquant sur Finish, Eclipse
crée alors le squelette du projet.

35
IV. Environnement de travail Java
Création projet Java

➢ Cliquez droit sur le projet


(GestionFormations) dans la vue ‘project
Explorer’ puis new/package
➢ Entrez ‘Lanceur’ comme nom de package.
Puis cliquez sur le bouton Finish

36
IV. Environnement de travail Java
Création projet Java

➢ Eclipse crée alors un package


➢ Passant désormais à la création d’une classe
principale en cliquant droit sur le package
(lanceur) , puis new/class

37
IV. Environnement de travail Java
Création projet Java
➢ Ecrire le nom de la classe , ici ‘Launcher‘

38
Atelier I :

➢ Créer un Nouveau projet Hello World sous Eclipse

➢ Compiler le projet

➢ Essayer de vous familiariser avec les principales commandes d'Eclipse

39
V. Syntaxe du langage Java
Commentaires dans le code source
➢ Trois façons d’inclure des commentaires :
➢ Tout texte entre « // » et la fin de la ligne
// Commentaires sur une seule ligne
➢ Tout texte entre « /* » et « */ »
/* Commentaires
sur un nombre important voire très important
de lignes */
➢ Les textes entre « /** » et « */ » sont utilisés pour créer des commentaires que
l’exécutable JAVADOC pourra traiter afin de produire une documentation (cf.
documentation de l’API Java)
/** Commentaires destinés
à la documentation */
40
V. Syntaxe du langage Java
Identificateurs

➢ Un identificateur permet de nommer les variables, méthodes, classes, ...

➢ Il comporte au moins un caractère

➢ Il est formé de majuscules, minuscules, chiffres, $, _, caractères accentués

➢ Le premier caractère ne doit pas être un chiffre

➢ JAVA est sensible à la casse : monde et mOnde sont deux identificateurs distincts.
41
V. Syntaxe du langage Java
Mots-clé
abstract double int strictfp
boolean else interface super
break extends long switch
byte final native synchronized
case finally new this
catch float package throw
char for private throws
class goto protected transient
const if public try
continue implements return void
default import short volatile
do instanceof static while
42
V. Syntaxe du langage Java
Typage fort
➢ Java est un langage à typage fort :
➢ Chaque variable a un type
➢ La valeur doit être du même type que la variable
➢ On ne peut (normalement) pas mélanger des variables de type différent
➢ Pourquoi?
➢ Utilisation efficace de la mémoire
➢ Vérification de la logique du programme
➢ Les règles pour entier et réel sont plus souples :
➢ Transtypage automatique : entier → réel
➢ Transtypage explicite (explicit cast) : réel → entire
➢ int i = (int)1.7; //Valeur tronquée, i vaut 1
43
V. Syntaxe du langage Java
Les types de base

➢ En Java, tout est objet sauf les types de base.

➢ Il y a huit types de base :

➢ Un type booléen pour représenter les variables qui ne pouvent prendre que 2
valeurs (vrai/faux, 0/1, etc) : boolean avec les valeurs associées true et false

➢ Un type pour représenter les caractères : char

➢ Quatre types pour représenter les entiers de divers taille : byte, short, int et long

➢ Deux types pour représenter les réels : float et double


44
V. Syntaxe du langage Java
Les type de base
Type de Type Nombre de bits Valeurs
base possible
boolean booléen De 1 à 32(Non défini true et false
par la specification)
byte entier 8 signées
short entier 16 signées
int entier 32 signées
long entier 64 signées
float virgule 32 IEEE 754
flottante
double virgule 64 IEEE 754
flottante
char caractère 16 Unicode 45
V. Syntaxe du langage Java
Le type String

➢ Une chaîne de caractères est déclarée avec le mot-clé « String »


➢ Ce n’est pas un type de base
➢ Il se manipule comme un type de base
➢ Ce n’est pas équivalent à un tableaux de caractères
➢ String s = "Bonjour tous le monde!”;
➢ L‘operateur «+ » est utilisé pour concaténer les chaînes de caractères

46
V. Syntaxe du langage Java
Les types de base : Déclaration/Initialisation
➢ Considérons l’instruction suivante :
int i;
➢ C’est ce qu’on appelle une déclaration d’une variable de type entier.
➢ A l’exécution de cette instruction, java réserve un espace mémoire de 32 bits,
permettant de stocker un entier.
➢ Cet espace mémoire correspond uniquement à la variable i.
➢ Si une variable n’est pas initialisée après sa déclaration et que l’on tente de l’utiliser (par
exemple pour l’afficher ou effectuer une opération), une erreur de compilation se
produira. Java, plus strict que d’autres langages comme le C ou le C++, interdit
l’utilisation d’une variable qu’il considère comme non initialisée, afin d’éviter tout
comportement imprévisible du programme.

47
V. Syntaxe du langage Java
Les types de base : Déclaration/Initialisation
Initialisation:
➢ Il y a deux façons d’initialisation:
➢ On peut initialiser lors de la déclaration en utilisant la syntaxe suivante :
int i=2;
➢ On peut initialiser plus tard en utilisant une affectation :
int i;
i=2;

48
V. Syntaxe du langage Java
Les types de base : Déclaration/Initialisation
Affectation:
➢ L’affectation des types primitifs en java fonctionne par valeur. Voyons ce que cela signifie
sur un petit exemple.
int i = 1; // (1)
int j; // (2)
j = i; // (3)
Ce bout de code a le comportement suivant :
1. Création et initialisation d’une variable i : un espace mémoire de 32 bits est associe a i.
Dans cet espace mémoire est écrit un encodage de l’entier « 1 ».
2. Création d’une variable j : un espace mémoire de 32 bits est associé à j.
3. Affectation de la valeur de i à j.
Après l’exécution de ce code, il n’y a donc plus aucun lien entre i et j. 49
V. Syntaxe du langage Java
Typage dynamique

➢ Depuis Java 10, on peut déclarer des variables avec inférence de type à l’aide du mot-
clé var. Le type est déterminé automatiquement par le compilateur, mais reste statique
(contrairement au typage dynamique de Python).

var a = 5;

➢ Une variable déclarée avec le mot-clé var doit être initialisée

➢ Le type de la variable a est déterminé en fonction de sa valeur initiale

➢ Elle ne peut pas changer de type


50
V. Syntaxe du langage Java
Modifiable/non modifiable

➢ La nature modifiable ou non modifiable d’une donnée peut être définie lors de la
déclaration par l’indication du mot réservé final pour les données constantes.
➢ Elle ne pourra donc plus être modifiée par le programme (toute tentative de
modification produira un message d'erreur lors de la compilation).
➢ Exemples :
➢ final double PI = 3.141592653;
➢ final int MAX_SIZE=15 ;

51
Introduction à Java
Atelier II :

Ecrire, compiler et visualiser le résultat du programme suivant :

Essayer maintenant de réaliser ces changements et vérifier les résultats


i=j;
k=j;
j=i;
52
V. Syntaxe du langage Java
Arithmétique et opérateurs
➢ Quelle est la valeur de : 5+3*4+(12/4+1)
➢ Règles de précédence :
Niveau Symbole Signification
1 () Parenthèse

* Produit
2 / Division
% Modulo

+ Addition ou concaténation
3
- Soustraction

53
V. Syntaxe du langage Java
Arithmétique et opérateurs

54
V. Syntaxe du langage Java
Arithmétique et opérateurs
➢ Pour comparer deux valeurs: Opérateur Exemple Renvoie TRUE si
> v1 > v2 v1 plus grand que v2
>= v1 >= v2 Plus grand ou égal
< v1 < v2 Plus petit que
<= v1 <= v2 Plus petit ou égal à
== v1 == v2 égal
!= v1 != v2 différent
➢ Opérateurs logiques:
Opérateur Usage Renvoie TRUE si
&&
expr1 && expr2 expr1 et expr2 sont vraies

|| expr1 || expr2 Expr1 ou expr2, ou les deux sont vraies


!= expr1 != expr2 si expr1 est différent de expr2
55
V. Syntaxe du langage Java
Arithmétique et opérateurs
Exemples :
boolean x;
x= true;
x= false;
x = (5==5); /* L’expression (5==5) est évaluée et la valeur retournée est affectée à x qui
vaut alors VRAI*/
x = (5!=4); // x vaut VRAI, 5 est différent de 4
x = (5>5); // x vaut FAUX, 5 n'est pas supérieur strictement à 5
x = (5<=5); // x vaut VRAI, 5 est bien inférieur ou égal à 5
56
V. Syntaxe du langage Java
Arithmétique et opérateurs
Exemples :
boolean a, b, c;
a= true;
b= false;
c= (a && b); // c vaut FAUX
c= (a || b); // c vaut VRAI
c= !(a && b); // c vaut VRAI
c=!a; // c vaut FAUX
57
V. Syntaxe du langage Java
Arithmétique et opérateurs
➢ Il existe des opérateurs d’affectation qui réalisent à la fois :
➢ Une opération arithmétique ou logique
➢ Et l’affectation proprement dite

Opérateur Exemple Équivalent à


+= expr1 += expr2 expr1 = expr1 + expr2
-= expr1 -= expr2 expr1 = expr1 – expr2
*= expr1 *= expr2 expr1 = expr1 * expr2
/= expr1 /= expr2 expr1 = expr1 / expr2
%= expr1 %= expr2 expr1 = expr1 % expr2

58
V. Syntaxe du langage Java
Instruction d’affichage
➢ Sous Java pour afficher un message sur la console on utilise l'une des deux méthodes
suivantes :
[Link](“Votre message”);
[Link](“Votre message”);
➢ La différence entre ces deux méthodes (print et println) c'est que println affiche le
message et retourne à la ligne tandis que print affiche le message est reste sur la même
ligne.

60
V. Syntaxe du langage Java
Instruction d’affichage

61
V. Syntaxe du langage Java
Instruction d’affichage
➢ La méthode print (ou println) peuvent aussi afficher les valeurs des variables. Par
exemple, le code suivant affiche la valeur de la variable i.

➢ On peut aussi concaténer l'affichage en ajoutant du texte à nos variables

62
V. Syntaxe du langage Java
Instruction de lecture
Classe [Link]
➢ Par exemple, ce code lit deux chiffres de la console et imprime leur somme

➢ Le Scanner fournit également des méthodes pour tester s'il reste des entrées et, le cas
échéant, quel type de jeton apparaît ensuite.
➢ Cette fonctionnalité est fournie par des méthodes comme hasNextInt, hasNextDouble.
➢ Par exemple, le code suivant lit les entiers et les additionne jusqu'à ce qu'il n'y ait plus
d'entrée ou qu'un jeton non numérique soit rencontré :

63
V. Syntaxe du langage Java
Instruction de lecture
Classe [Link]
➢ Les méthodes de Scanner :
Méthode Fonction

nextBoolean() lit et convertit le prochain jeton en une valeur booléenne

nextInt() lit et convertit le prochain jeton en une valeur entière

nextLong() lit et convertit le prochain jeton en une valeur de type long

nextDouble() lit et convertit le prochain jeton en un nombre à virgule (double)

nextString() ou next() lit le prochain jeton et le renvoie sous forme de chaîne de caractères (String)

nextLine() lit jusqu’au prochain retour à la ligne et renvoie une chaîne de caractères (String)

64
V. Syntaxe du langage Java
Instruction de lecture
Classe [Link]
➢ Les méthodes de Scanner :

Méthode Fonction
hasNextBoolean() renvoie true si le prochain jeton est soit true soit false
hasNextInt() renvoie true si le prochain jeton est un entier
hasNextLong() renvoie true si le prochain jeton est un long
hasNextDouble() renvoie true si le prochain jeton est un nombre réel
hasNextString() ou hasNext() renvoie true s’il reste au moins un jeton à lire
hasNextLine() renvoie true s’il y a une autre ligne d’entrée à lire

65
Introduction à Java
Atelier III :

Ecrire un programme qui demande l’âge et la taille de l’utilisateur, puis les affiche sous la
forme suivante :

Vous avez age_utilisateur ans et vous mesurez taille_utilisateur m

66
Introduction à Java
Atelier IV :
Ecrire un programme qui demande à l'utilisateur de saisir le prix de 3 produits (le produit
est de type double), ainsi que la quantité achetée pour chaque produit. Finalement votre
programme va afficher une facture ainsi que le total à payer (voir l'exemple)

67
V. Syntaxe du langage Java
Les structures de contrôle
➢ Les structures de contrôle sont des constructions de programmation qui permettent de
contrôler le flux d'exécution d'un programme en fonction de certaines conditions. Les
structures de contrôle les plus courantes sont :
➢ La structure conditionnelle
➢ La structure itérative
➢ Ces structures permettent d'ajouter de la logique et de la complexité à un programme,
en permettant de prendre des décisions en fonction de certaines conditions et
d'exécuter certaines actions plusieurs fois.
68
V. Syntaxe du langage Java
Les structures de contrôle
La structure conditionnelle : if – else
➢ La structure if est la structure conditionnelle la plus courante en Java. Elle permet de
faire un choix en fonction d'une condition.
if (condition) instruction;
Ou
if (condition) { bloc d’instructions}
➢ Il est possible d'ajouter une clause else pour exécuter un code si la condition est fausse
if (condition) instruction1; else instruction2;
Ou
if (condition) { 1er bloc d’instructions} else {2ème bloc d’instruction}
➢ N.B : La condition doit être un booléen ou renvoyer une valeur booléenne
69
V. Syntaxe du langage Java
Les structures de contrôle
La structure conditionnelle : SWITCH – CASE
➢ L’utilisation de if / else peut s’avérer lourde quand on doit traiter plusieurs sélections et
de multiples alternatives
➢ Pour cela il existe en Java le switch / case
➢ Tout comme l'instruction if, le switch permet de déclencher des traitements en fonction
de la valeur d'une expression.
➢ L’exécution des instructions correspondant à une alternative commence au niveau du
case correspondant et se termine à la rencontre d’une instruction break ou arrivée à la
fin du switch : Int number
....
switch (number)
{ case 1 : instructions; break;
case 2 : instructions; break;
default : instructions;
} 70
V. Syntaxe du langage Java
Les structures de contrôle
La structure itérative : Boucle déterminée (for)
➢ La boucle for est utilisée lorsque le nombre d’itérations est connu à l’avance.
for (initialisation ; condition ; mise à jour)
{bloc d’instructions}
➢ Les instructions dans le bloc sont exécutées tant que la condition est vraie.
➢ L’initialisation s’effectue une seule fois, la condition est vérifiée avant chaque itération,
et la mise à jour s’exécute à la fin de chaque tour de boucle.
➢ Cette structure est particulièrement adaptée pour parcourir des tableaux ou répéter
une action un nombre précis de fois.
72
V. Syntaxe du langage Java
Les structures de contrôle
La structure itérative : Boucle indéterminée (while)
➢ On veut répéter une ou plusieurs instructions un nombre indéterminés de fois : on
répète l’instruction ou le bloc d’instruction tant qu’une certaine condition reste vraie
➢ Nous avons en Java la boucle while (tant que)
while (condition)
{bloc d’instructions}
➢ les instructions dans le bloc sont répétées tant que la condition reste vraie.
➢ On ne rentre jamais dans la boucle si la condition est fausse dès le départ
73
V. Syntaxe du langage Java
Les structures de contrôle
La structure itérative : Boucle indéterminée (do..while)
➢ Un autre type de boucle avec le while:
do
{bloc d’instructions}
while (condition)
➢ les instructions dans le bloc sont répétées tant que la condition est satisfaite.
➢ On rentre toujours au moins une fois dans la boucle : la condition est testée en fin
de boucle.
74
V. Syntaxe du langage Java
Les structures de contrôle
Les instructions de saut : BREAK / CONTINUE
➢ break: achève immédiatement la boucle
➢ continue: ignore le reste des instructions et recommence au début de la boucle

for (int i=0; i<10 ;i++){


if (i==5) continue; // Si i=5, on recommence au début
if (i==7) break; /*Si i=7, on sort de la boucle et
les instructions suivantes sont
exécutées */
[Link]("La valeur de i est : " + i);
}
75
Merci de votre
attention

Pr. Ilyass OUAZZANI TAYBI Faculté des Sciences Semlalia - Marrakech 76


Licence ISI

Royaume du Maroc
Université Cadi Ayyad
Faculté des Sciences Semlalia
Marrakech

Programmation Orientée objet


Java
Pr. Ilyass OUAZZANI TAYBI
E-mail : [Link]@[Link]
Département : Informatique FSSM
Université Cadi Ayyad
Licence SINF S5

Année universitaire : 2025/2026

Vous aimerez peut-être aussi