0% ont trouvé ce document utile (0 vote)
89 vues95 pages

Programmation Orientée Objet en Java

Ce document décrit les principes de la programmation orientée objet, notamment les notions de classe, héritage, polymorphisme et liaison dynamique. Il présente ensuite comment ces concepts sont implémentés en Java avec les classes, attributs, méthodes, paquetages et interfaces.

Transféré par

Best Offensive
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)
89 vues95 pages

Programmation Orientée Objet en Java

Ce document décrit les principes de la programmation orientée objet, notamment les notions de classe, héritage, polymorphisme et liaison dynamique. Il présente ensuite comment ces concepts sont implémentés en Java avec les classes, attributs, méthodes, paquetages et interfaces.

Transféré par

Best Offensive
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

Programmation

Orientée Objet
avec Java

Programmation Orientée Objet avec Java

5 septembre 2013
Programmation
Orientée Objet
avec Java

Chapitre 1: Introduction
Chapitre 2: Bases de Java
Chapitre 3: Les tableaux simples
Chapitre 4: Classes, attributs, méthodes
Chapitre 5: Héritage
Chapitre 6: Documenter un projet
Chapitre 7: Exceptions
Chapitre 8: Interfaces – Classes abstraites
Chapitre 9: Les collections
Chapitre 10: Mini projet

mini-projet
Programmation
Orientée Objet
avec Java
Chapitre I – Introduction
I. Les notions de
la programmation
orientée objet
I. Les notions de la programmation orientée objet
II. Un premier
exemple

II. Un premier exemple


Programmation
Orientée Objet
avec Java
Chapitre I – Introduction
I. Les notions de
la programmation
orientée objet
I. Les notions de la programmation orientée objet
II. Un premier
exemple

II. Un premier exemple


Programmation
Orientée Objet
avec Java
Introduction
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
La programmation structurée est basée sur une décomposition en
actions.
La programmation orientée objet travaille avec une décomposition en
objet.
Les instructions élémentaires sont les mêmes, mais leur regroupement
est différent.
On trouve dans l’approche objet trois principes fondamentaux :
l’encapsulation : un objet regroupe à la fois ses attributs et ses
opérations associées,
l’indépendance temporelle : le comportement d’un objet est
indépendant du contexte dans lequel il est appelé,
l’indépendance spatiale : les informations relatives à une même
entité sont physiquement dans le même module.
Programmation
Orientée Objet
avec Java
Introduction
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
La programmation structurée est basée sur une décomposition en
actions.
La programmation orientée objet travaille avec une décomposition en
objet.
Les instructions élémentaires sont les mêmes, mais leur regroupement
est différent.
On trouve dans l’approche objet trois principes fondamentaux :
l’encapsulation : un objet regroupe à la fois ses attributs et ses
opérations associées,
l’indépendance temporelle : le comportement d’un objet est
indépendant du contexte dans lequel il est appelé,
l’indépendance spatiale : les informations relatives à une même
entité sont physiquement dans le même module.
Programmation
Orientée Objet
avec Java
Introduction
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
La programmation structurée est basée sur une décomposition en
actions.
La programmation orientée objet travaille avec une décomposition en
objet.
Les instructions élémentaires sont les mêmes, mais leur regroupement
est différent.
On trouve dans l’approche objet trois principes fondamentaux :
l’encapsulation : un objet regroupe à la fois ses attributs et ses
opérations associées,
l’indépendance temporelle : le comportement d’un objet est
indépendant du contexte dans lequel il est appelé,
l’indépendance spatiale : les informations relatives à une même
entité sont physiquement dans le même module.
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet La programmation orientée objet apporte de nouvelles notions :
II. Un premier
exemple
notion de classe : une classe regroupe des objets ayant des
propriétés et comportements communs (factorisation des
propriétés),
notion d’héritage : une sous-classe est définie à partir d’une
classe avec des propriétés supplémentaires ; la sous-classe hérite
des propriétés et des opérations de la classe parente,
notion de polymorphisme : permet d’écrire des programmes de
même but, donc de même nom, mais dans des contextes
différents selon la nature des objets sur lesquels ils portent,
notion de liaison dynamique : capacité à associer le service
surchargé correct en fonction de la référence de la classe,
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java

I. Les notions de
la programmation
orientée objet

II. Un premier
exemple
Traduction en Java
on utilisera des classes et des interfaces.
une classe modélise une entité à l’aide d’attributs et de
méthodes.
un programme construit une instance de classes qui est alors
appelée objet
les classes peuvent être rangées dans des paquetages
Programmation
Orientée Objet
avec Java
un exemple de programme
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple

Sous linux, on écrit avec un éditeur ( gedit ou emacs) le fichier


[Link].
(attention : Java distingue majuscules et minuscules)
p u b l i c c l a s s MaCl asse {
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
S yste m . o u t . p r i n t l n ( ” a f f i c h e z c e q u e v o u s v o u l e z ” ) ; }
}// c e c i e s t un c o m m e n t a i r e
Programmation
Orientée Objet
avec Java
programme
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple

class mot réservé qui indique que l’on commence la description


d’une classe, ce mot est nécessairement suivi du nom de la
classe : c’est l’entête de la classe (ligne 1)
{ marque le début d’un bloc ; en ligne 2 c’est le début du corps
de la classe MaClasse
une classe contient des attributs et des fonctions ou des
méthodes ; ici il n’y a qu’une méthode nommée main (ligne 2)
public static sont des modificateurs
void indique que la méthode main ne renvoie aucune valeur
Programmation
Orientée Objet
avec Java
programme
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple l’exécution d’un programme en Java se fait toujours dans une
méthode principale qui se nomme toujours main ; l’entête de
cette méthode est toujours comme dans la ligne 2, on ne peut
changer que l’identificateur arg
String est une classe du paquetage [Link] ;
String [ ] arg est le paramètre de la méthode main, et c’est un
tableau de chaı̂nes de caratères
[Link](”affichez ce que vous voulez”) ; est une
instruction qui écrit à l’écran affichez ce que vous voulez puis
passe à la ligne ; println est une méthode de l’objet out qui
appartient à la classe System, cet objet sert à écrire dans le
fenêtre d’exécution
toute instruction se termine par un point-virgule
Programmation
Orientée Objet
avec Java
compilation
I. Les notions de
la programmation
orientée objet

II. Un premier
Pour compiler ce fichier, dans une fenêtre de commande, on exécute
exemple
la commande

javac [Link]

On peut alors voir dans le répertoire courant un fichier


[Link], ce fichier contient le bytecode de la classe MaClasse.
Ce code est indépendant de la machine (et de son système
d’exploitation).
Puis on fait appel à la machine virtuelle Java qui interprète le
bytecode au fur et à mesure de l’exécution du programme : on utilise
la commande

java MaClasse

qui exécute la méthode main contenue dans la classe MaClasse.


Programmation
Orientée Objet
avec Java

I. Les notions de On prendra l’habitude suivante :


la programmation
orientée objet le nom du fichier sera [Link] pour la déclaration class
II. Un premier
exemple
MaClasse { ....
D’autre part, on a tout intérêt à séparer les fichiers source des fichiers
bytecode .class.
Pour cela on créera deux répertoires jumeaux Source et Class ; on
écrira les fichiers source .java dans Source.
Toujours dans le répertoire Source, on compilera par la commande

javac -d ../Class/ [Link]

puis toujours dans le répertoire Source, on exécutera par la


commande

java -cp ../Class/ MaClasse


Programmation
Orientée Objet
avec Java
Librairies
I. Les notions de
la programmation
orientée objet

II. Un premier
Java fournit de nombreuses librairies de classes remplissant des
exemple fonctionnalités très diverses : c’est l’API Java (Application and
Programming Interface /Interface pour la programmation
d’applications).
Ces classes sont regroupées par catégories en paquetages (ou
!packages").

Les principaux paquetages :


[Link] : structures de données classiques
[Link] : entrées / sorties
[Link] : chaı̂nes de caractères, interaction avec l’OS, threads
[Link] : interfaces graphiques, images et dessins
[Link] : les applets sur le web
[Link] : package récent proposant des composants ! légers
" pour la création graphiques
Programmation
Orientée Objet
avec Java
JDK
I. Les notions de
la programmation
orientée objet
L’environnement de développement fourni par Sun est le
II. Un premier JDK (Java Development Kit / Kit de développement Java).
exemple
Il contient :
les classes de base de l’API java (plusieurs centaines),
la documentation au format HTML (dans le répertoire où est
installé le JDK - /jdk1.. . ./docs/api/[Link] - ou bien à
l’adresse suivante http ://[Link]/docs/[Link])
le compilateur : javac
la JVM (machine virtuelle) : java
le visualiseur d’applets : appletviewer
le générateur de documentation : javadoc
Deux ouvrages :
en anglais : The Java Programming Language, K. Arnold, J.
Gosling et H. David, Addison Wesley, 2000
en français : Le Langage Java, Irène Charron, Hermès Sciences
Programmation
Orientée Objet
avec Java
Environnement intégré
I. Les notions de
la programmation
orientée objet

II. Un premier
exemple

Il existe de nombreux IDE (Integrated Development Environment)


parmi lesquels
Eclipse
Netbeans
JCreator (Windows uniquement)
...
Bien sûr il faut apprendre à s’en servir car ils offrent de nombreuses
possibilités.
Pour l’instant on fera simple, comme dans l’exemple précédent (sous
Linux).
Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Chapitre II – Bases de Java
I. Structure d’un
programme en
Java
I. Structure d’un programme en Java
II. Les types en
Java

III. Les types


primitifs
II. Les types en Java
IV. La décision

V. L’itération III. Les types primitifs


VI. Classes
enveloppantes

VII. Entrées -
sorties
IV. La décision
VIII. Construire
ses propres
fonctions V. L’itération

VI. Classes enveloppantes

VII. Entrées - sorties

VIII. Construire ses propres fonctions


Programmation
Orientée Objet
avec Java
Structure d’un programme Java
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


Un programme Java est constitué d’un ou plusieurs fichiers dont le
primitifs nom est terminé par .java.
IV. La décision
La structure générale d’un programma Java est
V. L’itération

VI. Classes Bibliothèques utilisées


enveloppantes

VII. Entrées -
classes
sorties
attributs (ou variables)
VIII. Construire
ses propres
méthodes (ou fonctions ou procédures)
fonctions
Le point d’entrée est toujours la méthode main dont l’en-tête est
toujours
public static void main ( String [ ] arg ) {... }
C’est la méthode automatiquement appelée par Java.
Programmation
Orientée Objet
avec Java

I. Structure d’un
programme en
Java

II. Les types en Tout ce qui est délimité par de accolades respectivement ouvrante et
Java
fermante sera appelé un bloc.
III. Les types
primitifs Un programme doit toujours être commenté pour des raisons de
IV. La décision lisibilité, d’évolution potentielle . . .
V. L’itération Les commentaires sont
VI. Classes
enveloppantes /∗ sur plusieurs
VII. Entrées - lignes ∗/
sorties

VIII. Construire // sur une seule ligne


ses propres
fonctions / ∗ ∗ sont utilisés pour créer une documentation automatique en
html ∗/
Programmation
Orientée Objet
avec Java

I. Structure d’un
programme en Les identificateurs sont composés de suite de lettre ou de chiffre,
Java
commencent par une lettre et doivent être différents des mots
II. Les types en
Java réservés et des mots-clés.
III. Les types
primitifs
Par exemple, MaClasse, maClasse, ma classe, maClasse1,. . .
IV. La décision
On respectera cette convention d’écriture :
V. L’itération tout nom de classe commence avec une majuscule
VI. Classes
enveloppantes tout nom de méthode commence avec une minuscule
VII. Entrées -
sorties
tout nom de variable ou attribut commence avec une minuscule ;
VIII. Construire par exemple entier
ses propres
fonctions si le nom de la méthode ou de la variable est composé de
plusieurs mots alors le premier caractère des mots suivants le
premier mot sont en majuscule ; par exemple
changerDePlace() , monEntierAMoiEtAPersonneDAutre.
Programmation
Orientée Objet
avec Java
Les types en Java
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Toutes les données manipulées en Java doivent être typées.
IV. La décision En Java il y a deux catégories de type, les types primitifs et les
V. L’itération
autres.
VI. Classes
enveloppantes Les types primitifs comprennent les types : booléen, caractère, entier
VII. Entrées - ou réel.
sorties
Les autres types sont les types tableau ou les types objet.
VIII. Construire
ses propres Par exemple, String est un type objet, int[ ] est un type de
fonctions
tableaux d’entiers.
Pour créer de nouveaux types on peut construire des tableaux ou
définir des classes.
Programmation
Orientée Objet
avec Java

I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
Par exemple, on définit une classe Personne dans le but de définir
IV. La décision une classe Carnet qui contiendra des Personne dans un tableau.
V. L’itération c l a s s Personne {
S t r i n g nom ;
VI. Classes i n t e g e r age ;
enveloppantes ....}
c l a s s Carnet {
VII. Entrées - Personne [ ] l i s t e ;
sorties ...
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java

I. Structure d’un
programme en
Java

II. Les types en


Java
En Java la manipulation des données diffère selon leur type.
III. Les types Règle : les données de type primitif sont manipulées par
primitifs
valeur et les données des autres types sont manipulées
IV. La décision
par référence
V. L’itération

VI. Classes
La référence d’une donnée est l’adresse en mémoire de cette donnée.
enveloppantes La référence est typée par le type de la donnée dont elle est l’adresse
VII. Entrées -
sorties
mémoire.
VIII. Construire Selon la règle énoncée une variable de type primitif contient une
ses propres
fonctions valeur de ce type et une variable de type non primitif contient
l’adresse mémoire où est stockée la valeur de type.
Programmation
Orientée Objet
avec Java
Exemple
I. Structure d’un
programme en
Java public class Essai {
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
II. Les types en b y t e [ ] t ={1 ,2 ,3};
Java byte [ ] s ;
s h o r t x =1;
III. Les types
short y ;
primitifs
s=t ;
IV. La décision S yste m . o u t . p r i n t l n ( ” t a b l e a u 1 ”+ t ) ;
// t a b l e a u 1 [ B@6e1408
V. L’itération // a d r e s s e e n h é x a d é c i m a l ( b a s e 1 6 )
S yste m . o u t . p r i n t l n ( ” t a b l e a u 2 ”+ s ) ;
VI. Classes // t a b l e a u 2 [ B@6e1408
enveloppantes t [0]= −1;
S yste m . o u t . p r i n t l n ( ” t a b l e a u 1 , 1 è r e v a l e u r ”+ t [ 0 ] ) ;
VII. Entrées - // t a b l e a u 1 [ B@6e1408 −1
sorties S yste m . o u t . p r i n t l n ( ” t a b l e a u 2 , 1 è r e v a l e u r ”+ s [ 0 ] ) ;
// t a b l e a u 2 [ @6e1408 −1
VIII. Construire
S yste m . o u t . p r i n t l n ( ” x=”+x ) ; // x=1
ses propres
y=x ; x =2;
fonctions
S yste m . o u t . p r i n t l n ( ” x=”+x ) ; // x=2
S yste m . o u t . p r i n t l n ( ” y=”+y ) ; // y= 1
}
}
Programmation
Orientée Objet
avec Java
Affectation des types non primitifs
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
La manipulation des données de type non primitif est limitée à la
IV. La décision

V. L’itération
comparaison et l’affectation.
VI. Classes
Dans ce dernier cas c’est l’adresse mémoire qui est dupliquée et non
enveloppantes
pas les données référencées.
VII. Entrées -
sorties

VIII. Construire Remarques :


ses propres
fonctions
la syntaxe de l’affection se fait est le symbole =
la variable à gauche reçoit la valeur de l’expression à droite
Programmation
Orientée Objet
avec Java
Les types primitifs
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen Les variables de type primitif
2. le type
caractère
3. les types
boolean
entier
4. Les types
réels
int
5. Conversions
6. Constantes
float
IV. La décision char
V. L’itération

VI. Classes
sont manipulées par valeur.
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
le type booléen
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen
2. le type
caractère
3. les types
entier
Le type boolean a deux valeurs true et false.
4. Les types
réels Il est codée sur 1 bit.
5. Conversions
6. Constantes
On verra plus tard les opérateurs logiques.
IV. La décision

V. L’itération

VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
le type caractère
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen
2. le type Le type char est codé sur 2 octets selon le code UNICODE 2.1.
caractère
3. les types Les valeurs de type char sont écrites entre apostrophes soit
entier
4. Les types
réels
directement soit avec le code unicode sous la forme \uhhhh où hhhh
5. Conversions est un chiffre héxadécimal.
6. Constantes
IV. La décision
Par exemple \u03C6 correspond à ϕ.
V. L’itération
(voir [Link] pour les caractères en Unicode)
VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
les types entier
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen
2. le type Selon la dimension du codage, on distingue les types
caractère
3. les types
entier
byte : 1 octet, intervalle [−128, 127]
4. Les types
réels short : 2 octets, intervalle [−32768, 32767]
5. Conversions
6. Constantes int : 4 octets, intervalle [−2147483648, 2147483647]
IV. La décision

V. L’itération
long : 8 octets, intervalle [−9.1018, 9.1018 ] environ
VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
écriture des entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen Les valeurs entières peuvent s’écrire
2. le type
caractère
3. les types
en base 10 : par exemple 12
entier
4. Les types
réels
en base 8 (octal) indiquée par un 0 en préfixe : par exemple 014
5. Conversions
6. Constantes
en base 16 (héxadécimal) indiquée par 0x en préfixe : par
IV. La décision exemple 0xc
V. L’itération
les valeurs de type long sont suffixées par l ou L.
VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type +, − : signe (arité 1)
booléen
2. le type
caractère
+, −, ∗ : addition, soustraction, multiplication
3. les types
entier / : division entière
4. Les types
réels
5. Conversions
x%y : modulo (reste de la division entière de x par y )
6. Constantes
respectant la règle suivante (x/y ) ∗ y + x%y est égale à x
IV. La décision

V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes

VII. Entrées -
est égal à −56.
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type +, − : signe (arité 1)
booléen
2. le type
caractère
+, −, ∗ : addition, soustraction, multiplication
3. les types
entier / : division entière
4. Les types
réels
5. Conversions
x%y : modulo (reste de la division entière de x par y )
6. Constantes
respectant la règle suivante (x/y ) ∗ y + x%y est égale à x
IV. La décision

V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes

VII. Entrées -
est égal à −56.
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type +, − : signe (arité 1)
booléen
2. le type
caractère
+, −, ∗ : addition, soustraction, multiplication
3. les types
entier / : division entière
4. Les types
réels
5. Conversions
x%y : modulo (reste de la division entière de x par y )
6. Constantes
respectant la règle suivante (x/y ) ∗ y + x%y est égale à x
IV. La décision

V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes

VII. Entrées -
est égal à −56.
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type +, − : signe (arité 1)
booléen
2. le type
caractère
+, −, ∗ : addition, soustraction, multiplication
3. les types
entier / : division entière
4. Les types
réels
5. Conversions
x%y : modulo (reste de la division entière de x par y )
6. Constantes
respectant la règle suivante (x/y ) ∗ y + x%y est égale à x
IV. La décision

V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes

VII. Entrées -
est égal à −56.
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type +, − : signe (arité 1)
booléen
2. le type
caractère
+, −, ∗ : addition, soustraction, multiplication
3. les types
entier / : division entière
4. Les types
réels
5. Conversions
x%y : modulo (reste de la division entière de x par y )
6. Constantes
respectant la règle suivante (x/y ) ∗ y + x%y est égale à x
IV. La décision

V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes

VII. Entrées -
est égal à −56.
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type +, − : signe (arité 1)
booléen
2. le type
caractère
+, −, ∗ : addition, soustraction, multiplication
3. les types
entier / : division entière
4. Les types
réels
5. Conversions
x%y : modulo (reste de la division entière de x par y )
6. Constantes
respectant la règle suivante (x/y ) ∗ y + x%y est égale à x
IV. La décision

V. L’itération remarque : les calculs sur ces variables se font modulo la portée de
VI. Classes leur type ; par exemple pour le type byte de portée 256, 100 + 100
enveloppantes

VII. Entrées -
est égal à −56.
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Il existe des opérateurs permettant une incrémentation plus facile à
1. le type
booléen écrire.
2. le type
caractère
3. les types
i + +; équivaut à i = i + 1
entier
4. Les types
réels
x = + + i; équivaut à i = i + 1; x = i;
5. Conversions
6. Constantes
x = i + +; équivaut à x = i; i = i + 1;
IV. La décision i − −; équivaut à i = i − 1
V. L’itération

VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Il existe des opérateurs permettant une incrémentation plus facile à
1. le type
booléen écrire.
2. le type
caractère
3. les types
i + +; équivaut à i = i + 1
entier
4. Les types
réels
x = + + i; équivaut à i = i + 1; x = i;
5. Conversions
6. Constantes
x = i + +; équivaut à x = i; i = i + 1;
IV. La décision i − −; équivaut à i = i − 1
V. L’itération

VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Il existe des opérateurs permettant une incrémentation plus facile à
1. le type
booléen écrire.
2. le type
caractère
3. les types
i + +; équivaut à i = i + 1
entier
4. Les types
réels
x = + + i; équivaut à i = i + 1; x = i;
5. Conversions
6. Constantes
x = i + +; équivaut à x = i; i = i + 1;
IV. La décision i − −; équivaut à i = i − 1
V. L’itération

VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Il existe des opérateurs permettant une incrémentation plus facile à
1. le type
booléen écrire.
2. le type
caractère
3. les types
i + +; équivaut à i = i + 1
entier
4. Les types
réels
x = + + i; équivaut à i = i + 1; x = i;
5. Conversions
6. Constantes
x = i + +; équivaut à x = i; i = i + 1;
IV. La décision i − −; équivaut à i = i − 1
V. L’itération

VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Il existe des opérateurs permettant une incrémentation plus facile à
1. le type
booléen écrire.
2. le type
caractère
3. les types
i + +; équivaut à i = i + 1
entier
4. Les types
réels
x = + + i; équivaut à i = i + 1; x = i;
5. Conversions
6. Constantes
x = i + +; équivaut à x = i; i = i + 1;
IV. La décision i − −; équivaut à i = i − 1
V. L’itération

VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les entiers
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Il existe des opérateurs permettant une incrémentation plus facile à
1. le type
booléen écrire.
2. le type
caractère
3. les types
i + +; équivaut à i = i + 1
entier
4. Les types
réels
x = + + i; équivaut à i = i + 1; x = i;
5. Conversions
6. Constantes
x = i + +; équivaut à x = i; i = i + 1;
IV. La décision i − −; équivaut à i = i − 1
V. L’itération

VI. Classes
x = − − i; équivaut à i = i − 1; x = i;
enveloppantes
x = i − −; équivaut à x = i; i = i − 1;
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérateurs de comparaison et
I. Structure d’un
programme en opérateurs logiques
Java

II. Les types en


Java

III. Les types


primitifs
1. le type == teste l’égalité
booléen
2. le type
caractère
! = teste la différence
3. les types
entier <=, <, >, => testent l’ordre
4. Les types
réels
5. Conversions
&& est l’opérateur booléen ET,
6. Constantes
|| est l’opérateur booléen OU,
IV. La décision

V. L’itération ! est l’opérateur booléen de négation.


VI. Classes
enveloppantes L’évaluation d’une expression booléenne se fait de gauche à droite et
VII. Entrées - est stoppée dès que le résultat est connu.
sorties
En effet false && . . . est faux quelque soit la valeur qui suit false.
VIII. Construire
ses propres De même, true || . . . est vrai quelque soit la valeur qui suit true.
fonctions
Programmation
Orientée Objet
avec Java
Les types réels
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen
2. le type
caractère
3. les types Selon la dimension du codage, on distingue les types
entier
4. Les types
réels
float : simple précision sur 4 octets
5. Conversions
6. Constantes double : double précision sur 8 octets
IV. La décision

V. L’itération

VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
écriture des flottants
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
un réel comporte toujours un point (notation anglo-saxonne de la
booléen
2. le type
virgule) même s’il a une valeur entière.
caractère
3. les types
Par exemple 1.f vaut 1 ; c’est un flottant et sera affiché 1.0.
entier
4. Les types Une valeur constante de type float est toujours suffixée par f ; par
réels
5. Conversions exemple, 10.2f est de type float.
6. Constantes
Une valeur constante de type double n’a pas de rajout ; par exemple,
IV. La décision
10.2 est de type double.
V. L’itération

VI. Classes
On peut utiliser une notation scientifique ; par exemple, 1.02e1f de
enveloppantes type float ou .102e2 de type double.
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Opérations sur les réels
I. Structure d’un
programme en
Java

II. Les types en


Java +, − : signe (arité 1)
III. Les types
primitifs +, −, ∗, / : addition, soustraction, multiplication, division
1. le type
booléen
2. le type
D’autres opérations sont disponibles dans la classe [Link]
caractère
3. les types
qu’il faut importer si on veut l’utiliser.
entier
4. Les types
On y trouve par exemple
réels
5. Conversions les fonctions trigonométriques (argument en radian) : sin,
6. Constantes
IV. La décision
cos, tan, asin, acos, atan
V. L’itération les fonctions logarithmiques et exponentielles : log, exp,
VI. Classes
enveloppantes
sqrt, pow
VII. Entrées - arrondi : round, ceil, floor
sorties

VIII. Construire
valeur absolue : abs
ses propres
fonctions Pour toutes ces fonctions l’argument est de type double.
Programmation
Orientée Objet
avec Java
Exemple
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types i m p o r t j a v a . l a n g . Math ;


primitifs publ i c c l as s Essai2 {
1. le type p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
booléen S yste m . o u t . p r i n t l n ( Math . s q r t ( 4 . 0 ) ) ; // 2 . 0
2. le type S yste m . o u t . p r i n t l n ( Math . s i n ( Math . PI / 2 ) ) ; // 1 . 0
caractère }}
3. les types
entier
4. Les types
réels
voir l’API pour la classe Math.
5. Conversions
6. Constantes
IV. La décision

V. L’itération

VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Conversions implicites entre types
I. Structure d’un
programme en
Java

II. Les types en byte ! short


Java

III. Les types short ! int


primitifs
1. le type char ! int
booléen
2. le type
caractère
int ! float
3. les types
entier float ! double
4. Les types
réels
5. Conversions Par exemple si x est de type short et y de type int, l’affectation
6. Constantes
y=x transforme automatiquement la valeur de x en une valeur de
IV. La décision

V. L’itération
type int pour l’affecter à y.
VI. Classes
Pour le type char, une valeur de ce type a un code unicode \uhhhh ;
enveloppantes
lorsque cette valeur est affectée à une variable i de type int hhhh est
VII. Entrées -
sorties calculé en décimal et affecté à i.
VIII. Construire Par exemple,
ses propres
fonctions i = ’2’ ; [Link](i) ;
affiche 50 car le caractère ’2’ a le code \u0032.
Programmation
Orientée Objet
avec Java
Conversions explicites entre types
I. Structure d’un
programme en
Java

II. Les types en On peut explicitement faire les conversions suivantes


Java

III. Les types byte ! char


primitifs
1. le type
booléen
short ! char
2. le type
caractère short ! byte
3. les types
entier
4. Les types
int ! char
réels
5. Conversions int ! short
6. Constantes
IV. La décision
char ! byte
V. L’itération char ! short
VI. Classes
enveloppantes double ! float
VII. Entrées -
sorties float ! int
VIII. Construire
ses propres La conversion se fait de la façon suivante : (nouveau type)
fonctions
(expression), où expression est du type d’origine.
Programmation
Orientée Objet
avec Java
Conversions explicites entre types
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen
2. le type
caractère Attention : la conversion s’effectue après évaluation de l’expression
3. les types
entier dans son type d’origine.
4. Les types
réels Par exemple
5. Conversions
6. Constantes short s= -140 ;
IV. La décision byte b=(byte) s ;//b vaut 116 car −140 + 256 = 116
V. L’itération

VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Constantes
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
1. le type
booléen
2. le type
caractère
On peut nommer des constantes de la façon suivante :
3. les types
entier
4. Les types static final int max = 100 ;
réels
5. Conversions
6. Constantes final signifie que l’on ne pourra pas changer sa valeur.
IV. La décision
L’ordre entre final et static n’a pas d’importance.
V. L’itération

VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
La décision
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision
1. l’instruction if
2. l’instruction
switch
V. L’itération
On va voir deux instructions de décision if et switch
VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
syntaxe de if
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision if (expression) {SuiteDInstructions1;} else


1. l’instruction if
2. l’instruction
{SuiteDIinstructions2 ;}
switch
dans laquelle expression est une expression booléenne.
V. L’itération

VI. Classes
Remarques :
enveloppantes
else n’est pas obligatoire,
VII. Entrées -
sorties
Si SuiteDInstructions ne contient qu’une unique instruction
VIII. Construire
ses propres alors les accolades ne sont pas obligatoires.
fonctions
Programmation
Orientée Objet
avec Java
syntaxe de if
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
règle : sans accolades, else se rapporte toujours au if
IV. La décision
1. l’instruction if
précédent le plus proche.
2. l’instruction
switch
V. L’itération
Selon cette règle, dans l’instruction suivante
VI. Classes
enveloppantes if (expression1) if (expression2) instruction1 ; else
VII. Entrées -
sorties
instruction2 ;
VIII. Construire
ses propres instruction2 s’exécute lorsque expression1 est vraie et
fonctions
expression2 fausse. Rien n’est prévue si expression1 est fausse.
Programmation
Orientée Objet
avec Java
syntaxe de if
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
Si SuiteDInstructions1 et SuiteDInstructions2 sont chacune
IV. La décision
1. l’instruction if
une affectation à la même variable x alors on peut écrire
2. l’instruction
switch
V. L’itération
x = expression1 ? expression2 : expression3;
VI. Classes
enveloppantes avec expression1 de type booléen, expression2 et expression3
VII. Entrées -
sorties
de même type que x.
VIII. Construire
ses propres expression2 est affecté à x si expression1 est évaluée à true
fonctions
expression3 est affecté à x si expression1 est évaluée à false
Programmation
Orientée Objet
avec Java
syntaxe de switch
I. Structure d’un
programme en
Java

II. Les types en


Java L’instruction switch permet de faire plusieurs tests sur la valeur
III. Les types d’une même variable (uniquement de type byte, short, int,
primitifs
char).
IV. La décision
1. l’instruction if La syntaxe est la suivante :
2. l’instruction
switch switch (variable){
V. L’itération case valeur1 : SuiteDinstructions1;break;
VI. Classes
enveloppantes
...
VII. Entrées -
case valeurk : SuiteDinstructionsk;break;
sorties
default : SuiteDinstructions ;break;
VIII. Construire
ses propres }
fonctions
Remarque : on peut écrire plusieurs case séparés par : pour une seule
suite d’instructions
case valeur1 : case valeur2 : case valeur3 :
SuiteDinstructions;break ;
Programmation
Orientée Objet
avec Java
sémantique de switch
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
Pour chaque case la valeur de variable est évaluée puis comparée à
IV. La décision
1. l’instruction if la valeur du case ; si elles sont égales la suite d’instructions
2. l’instruction
switch correspondante est exécutée.
V. L’itération Le mot clef default indique la suite d’instructions à exécuter
VI. Classes
enveloppantes
lorsqu’aucune des valeurs des case ne sont égales à la valeur de la
VII. Entrées -
variable.
sorties
Attention : si on omet break à la fin des instructions, alors toutes
VIII. Construire
ses propres lesinstructions suivant la première exécutée seront à leur tour
fonctions
exécutées sans tenir compte des valeurs.
Programmation
Orientée Objet
avec Java
L’itération
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision

V. L’itération
1. l’instruction
On va voir les instructions
for
2. l’instruction for
while
3. l’instruction
do while
while
4. Dérouter une
itération do while
VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
l’instruction for
I. Structure d’un
programme en
Java

II. Les types en


Java
La syntaxe est la suivante
III. Les types
primitifs for (compteur; test; modification){
IV. La décision SuiteDInstructions; }
V. L’itération
1. l’instruction compteur est la variable qui sert de contrôle à la boucle (avec
for
2. l’instruction l’initialisation du compteur et/ou sa déclaration le cas échéant)
while
3. l’instruction
do while test est la condition que doit vérifier le compteur pour
4. Dérouter une
itération continuer la boucle for,
VI. Classes
enveloppantes
modification est une instruction qui modifie la valeur du
VII. Entrées - compteur de façon à ce que test devienne faux (sinon boucle
sorties
infinie),
VIII. Construire
ses propres
fonctions
si SuiteDInstructions ne contient qu’une instruction les
accolades ne sont pas indispensables.
Programmation
Orientée Objet
avec Java
for
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types for(i=0 ;i<10 ; i++) effectue 10 itérations pour i variant de 0 à 9.
primitifs

IV. La décision
for(i=1 ;i<10 ; i++) effectue 9 itérations pour i variant de 1 à 9.
V. L’itération
for(i=1 ;i<=10 ; i++) effectue 10 itérations pour i variant de 1 à 10.
1. l’instruction
for
for(int j=10 ;j>=1 ; j−−) effectue 10 itérations pour j variant de
2. l’instruction
while
10 à 1.
3. l’instruction
do while
Remarques :
4. Dérouter une
itération les boucles for peuvent être imbriquées
VI. Classes
enveloppantes le compteur peut être utilisé dans la suite d’instructions
VII. Entrées -
sorties
si compteur est déclaré dans la boucle for sa portée est limitée
VIII. Construire à la boucle (il sera invisible en dehors).
ses propres
fonctions
Programmation
Orientée Objet
avec Java
l’instruction while
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs La syntaxe est la suivante
IV. La décision

V. L’itération while (expressionBooléenne) {


1. l’instruction
for SuiteDInstructions; }
2. l’instruction
while
3. l’instruction
do while expressionBooléenne est évaluée et tant qu’elle est vraie alors
4. Dérouter une
itération SuiteDInstructions est exécutée.
VI. Classes Il faut bien sûr que cette suite d’instructions fasse évoluer une ou des
enveloppantes

VII. Entrées -
variables de l’expression booléenne de façon à ce qu’elle devienne
sorties fausse sinon on a un risque de boucle infinie.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
l’instruction do while
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision
La syntaxe est la suivante
V. L’itération
1. l’instruction do { SuiteDInstructions; }
for
2. l’instruction while (expressionBooléenne);
while
3. l’instruction
do while
4. Dérouter une
SuiteDInstructions est exécutée et tant que
itération
expressionBooléenne est vraie on répète cette exécution. De
VI. Classes
enveloppantes même on doit s’assurer que l’expression booléenne devienne fausse au
VII. Entrées -
sorties
cours de l’exécution de la suite d’instructions.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
différence en while et do while
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision
L’expression booléenne n’est pas évaluée au même moment
V. L’itération
1. l’instruction
Avec while l’expression booléenne est évaluée avant l’exécution des
for
2. l’instruction instructions.
while
3. l’instruction Avec do while l’expression booléenne est évaluée après l’exécution
do while
4. Dérouter une des instructions.
itération
VI. Classes
Donc , la suite d’instructions est toujours exécutée au moins une fois
enveloppantes avec do while .
VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Dérouter une itération
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


Il est possible
primitifs
d’interrompre une boucle par l’instruction break
IV. La décision

V. L’itération de sauter une partie des instructions de la boucle par


1. l’instruction
for l’instruction continue.
2. l’instruction
while
3. l’instruction
break l’itération est stoppée et les instructions suivant cette
do while
4. Dérouter une
itération sont exécutées
itération
VI. Classes continue une boucle while (expression booléenne){} ou
enveloppantes
do {}while (expression booléenne) reprend au
VII. Entrées -
sorties test de l’expression booléenne
VIII. Construire
ses propres
continue une boucle for passe à l’itération suivante
fonctions
Programmation
Orientée Objet
avec Java
Classes enveloppantes
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types Il est possible de considérer les types primitifs comme des types objet
primitifs
par l’intermédiaire des ! classes enveloppantes " qui existent pour
IV. La décision
chaque type primitif :
V. L’itération

VI. Classes [Link] ! byte


enveloppantes

VII. Entrées -
...
sorties

VIII. Construire
[Link] ! float
ses propres
fonctions [Link] ! boolean
[Link] ! character
Ces classes possèdent des méthodes permettant le traitement relatif
au type primitif associé.
Programmation
Orientée Objet
avec Java
exemple
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
p u b l i c c l a s s Te stEnve l oppante {
IV. La décision p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
i n t n = I n t e g e r . p a r s e I n t ( ” 213 ” ) ;
V. L’itération S yste m . o u t . p r i n t l n ( n +3); // a f f i c h e 216
}
VI. Classes
enveloppantes

VII. Entrées -
sorties

VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Sorties
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
On peut afficher la valeur d’une variable x avec
IV. La décision

V. L’itération
[Link](x) ;
VI. Classes
enveloppantes

VII. Entrées - qui dans ce cas va à la ligne après affichage.


sorties
1. Sorties La commande
2. Entrées
VIII. Construire
ses propres
[Link](x) ;
fonctions
affiche x et laisse le curseur à coté de la valeur de x.
Programmation
Orientée Objet
avec Java
Sorties
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision

V. L’itération

VI. Classes
Pour afficher un texte il faut le mettre entre guillemets.
enveloppantes On peut afficher les contenus de plusieurs variables et du texte en les
VII. Entrées -
sorties
séparant par un +.
1. Sorties On dit que le symbole + est un symbole de concaténation.
2. Entrées
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
En ligne de commande
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs
Une première possibilité est de profiter de la structure de la méthode
IV. La décision
main.
V. L’itération

VI. Classes
Elle a comme argument un tableau de chaı̂nes de caractères. On peut
enveloppantes alors fournir des valeurs pour ces paramètres en ligne de commande.
VII. Entrées -
sorties
Par exemple
1. Sorties p u b l i c c l a s s Argument {
2. Entrées p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) {
int x ;
VIII. Construire
x = I n t e g e r . p a r s e I n t ( arg [ 0 ] ) ;
ses propres
S yste m . o u t . p r i n t l n ( ”L ’ e n t i e r v a u t ” + x ) ;
fonctions
}
Programmation
Orientée Objet
avec Java
Entrées
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types Sinon dans un environnement non graphique on utilisera la classe
primitifs

IV. La décision
Scanner du package [Link] (à partir de Java 1.5 seulement)
V. L’itération
pour réaliser des saisies au clavier.
VI. Classes Grâce à cette classe on peut saisir des valeurs numériques byte,
enveloppantes
short, int, long, float, double et des valeurs caractères ou
VII. Entrées -
sorties chaı̂nes de caractères.
1. Sorties
2. Entrées
On commence tout d’abord avant la définition de la classe par
VIII. Construire importer la classe Scanner
ses propres
fonctions import [Link] ;
Puis on crée un objet de type Scanner de la façon suivante
Scanner saisieClavier = new Scanner([Link]);
Programmation
Orientée Objet
avec Java
la classe Scanner
I. Structure d’un
programme en
Java

II. Les types en


Java On utilise une méthode de la classe Scanner qui permet de lire un
III. Les types
primitifs
entier, un réel ou une chaı̂ne de caractères.
IV. La décision int i ;
V. L’itération i=[Link]() ;
VI. Classes Pour les valeurs numériques les méthodes sont nextByte,
enveloppantes

VII. Entrées -
nextShort, nextInt, nextLong, nextFloat, nextDouble.
sorties Pour une chaı̂ne de caractères String on utilise la méthode
1. Sorties
2. Entrées [Link]() qui saisit la suite de caractères jusqu’au caractère
VIII. Construire
ses propres
espace qui marque la fin de la saisie.
fonctions Pour saisir une phrase composée de plusieurs mots on utilise la
méthode [Link]().
Pour saisir un caractère on utilise la méthode
[Link]().charAt(0) qui saisit le premier caractère entré.
Programmation
Orientée Objet
avec Java
Exemple
I. Structure d’un
programme en import j ava . u t i l . Scanner ;
Java p u b l i c c l a s s EssaiPgcd {
// f c t q u i r e n v o i e l e p gc d d e a e t b
II. Les types en s t a t i c i n t p gc d ( i n t a , i n t b){
Java w h i l e ( a != b ) {
i f ( a<b ) b=b−a ; e l s e a−=b ;}
III. Les types r e t u r n a ;}
primitifs // méthode main
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g ) {
IV. La décision
int x ; int y ;
V. L’itération S c a n n e r s a i s i e C l a v i e r = new S c a n n e r ( S yste m . i n ) ;
S yste m . o u t . p r i n t l n ( ” e n t r e z 2 e n t i e r s p o s i t i f s ” ) ;
VI. Classes S yste m . o u t . p r i n t l n ( ” s i n o n e n t r e z ( 0 p o u r a r r e t e r ) ” ) ;
enveloppantes x= s a i s i e C l a v i e r . n e x t I n t ( ) ;
while ( x > 0) {
VII. Entrées - y= s a i s i e C l a v i e r . n e x t I n t ( ) ;
sorties i f ( y <= 0 ) b r e a k ; e l s e {
1. Sorties S yste m . o u t . p r i n t l n ( ” l e p gc d d e ”+x+” e t ”+y+
2. Entrées ” e s t ” +p gc d ( x , y ) ) ;
S yste m . o u t . p r i n t l n ( ” e n t r e r d e u x e n t i e r s p o s i t i f s
VIII. Construire (0 pour a r r e t e r )” ) ;
ses propres x= s a i s i e C l a v i e r . n e x t I n t ( ) ; }
fonctions } } }
Programmation
Orientée Objet
avec Java
Fonctions
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision

V. L’itération

VI. Classes On distinguera les sous-programmes s’appliquant à des données de


enveloppantes

VII. Entrées -
types primitifs et les autres. Pour le premier cas on parlera toujours
sorties de fonctions mais de méthodes pour les types non primitifs.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Syntaxe
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs Pour déclarer une fonction on écrira pour l’instant si la fonction
IV. La décision renvoie un résultat
V. L’itération public static typeResultat nomDeLaFonction
VI. Classes
enveloppantes
(listeDeParamètres){
VII. Entrées - SuiteDInstructions;
sorties
}
VIII. Construire
ses propres ou bien si la fonction ne renvoie pas de résultat
fonctions
public static void nomDeLaFonction (listeDeParamètres){
SuiteDInstructions;
}
Programmation
Orientée Objet
avec Java
Syntaxe
I. Structure d’un
programme en
Java typeResultat est le type de la valeur qui est retournée par la
II. Les types en
Java
fonction,
III. Les types nomDeLaFonction est le nom de la fonction lequel sera utilisé
primitifs

IV. La décision
pour l’appel de la fonction,
V. L’itération listeDeParamètres est la liste des paramètres avec lesquels la
VI. Classes fonction sera appelée,
enveloppantes

VII. Entrées - (listeDeParamètres) est de la forme (type1 identPara1, type2


sorties
identPara2, . . .),
VIII. Construire
ses propres
fonctions
ces paramètres sont dits formels,
listeDeParamètres peut être vide,
si la fonction retourne une valeur SuiteDInstructions doit
contenir une instruction return valeur ;
une telle fonction ne renvoie qu’une seule valeur,
l’instruction return valeur ; marque la fin de la fin fonction, la
méthode appelante reprend le contrôle,
Programmation
Orientée Objet
avec Java
void
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision

V. L’itération void indique que la fonction ne retourne aucune valeur


VI. Classes
enveloppantes
Remarque : une instruction
VII. Entrées - return ;
sorties
peut être utilisée lorsque la fonction ne retourne aucune valeur pour,
VIII. Construire
ses propres par exemple, sortir d’une instruction conditionnelle.
fonctions
Programmation
Orientée Objet
avec Java
Visibilité
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


Les instructions figurant dans la fonction peuvent utiliser
primitifs

IV. La décision
les paramètres
V. L’itération des variables propres à la fonction que l’on dira locales à la
VI. Classes fonction.
enveloppantes

VII. Entrées - Règle : toute variable déclarée à l’intérieur d’une


sorties
fonction n’est visible que dans cette fonction.
VIII. Construire
ses propres Cette règle s’applique aussi aux méthodes et donc à la méthode
fonctions
principale main.
Pour une fonction, ses variables locales n’existent que le temps de
l’exécution de la fonction et ne peuvent pas être utilisées par d’autres
fonctions parce que non visibles.
Programmation
Orientée Objet
avec Java
appel
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


Une fois la fonction définie elle peut être utilisée par un autre
primitifs fonction ou méthode.
IV. La décision
La syntaxe à respecter est le nom de la fonction suivie entre
V. L’itération
parenthèses d’une liste de paramètres en même nombre et même type
VI. Classes
enveloppantes respectif que dans la définition de la fonction.
VII. Entrées - Les variables sur lesquelles est appliquée la fonction sont dits
sorties

VIII. Construire
paramètres réels ou effectifs.
ses propres
fonctions
Si la fonction renvoie un résultat elle sera utilisée comme une variable
du type renvoyé : affectation, test, dans une autre fonction ou
méthode . . ..
Par exemple,
z=pgcd(x,y) ;
Programmation
Orientée Objet
avec Java
passage de paramètres
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision

V. L’itération

VI. Classes
enveloppantes
Règle : en Java les arguments d’une fonction sont passés
VII. Entrées -
par valeur, c’est-à-dire les valeurs des paramètres
sorties
réels sont copiés au moment de l’appel.
VIII. Construire
ses propres
fonctions
Programmation
Orientée Objet
avec Java
Fonction récursive
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


Une fonction peut appeler une autre fonction comme estPremier
primitifs utilisant pgcd.
IV. La décision
Elle peut s’appeler elle-même : on parle alors de fonction récursive.
V. L’itération
Par exemple, le calcul de la fonction factorielle s’écrira :
VI. Classes
enveloppantes import j ava . u t i l . Scanner ;
publ i c c l as s EssaiFact {
VII. Entrées - s t a t i c i n t F a c t ( i n t n){
sorties i f ( n<=1)
return 1 ;
VIII. Construire e l s e r e t u r n n∗F a c t ( n−1) ;
ses propres }
fonctions p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g ) {
int x ;
S c a n n e r s a i s i e C l a v i e r = new S c a n n e r ( S yste m . i n ) ;
S yste m . o u t . p r i n t ( ” e n t r e r un e n t i e r : x=” ) ;
x= s a i s i e C l a v i e r . n e x t I n t ( ) ;
S yste m . o u t . p r i n t l n ( ” x ! = ”+ F a c t ( x ) ) ;
} }
Programmation
Orientée Objet
avec Java
Exercices
I. Structure d’un
programme en
Java

II. Les types en


Java

III. Les types


primitifs

IV. La décision 1 Ecrire un programme qui saisit un entier n et qui affiche le terme
V. L’itération
de rang n de la suite de Fibonacci.
VI. Classes
enveloppantes 2 Ecrire un programme qui saisit un entier n et qui affiche le
VII. Entrées -
sorties
nombre d’itérations de la suite de Syracuse pour atteindre 1.
VIII. Construire
ses propres
3 Ecrire un programme qui saisit un entier seuil et qui affiche le
fonctions rang k du premier terme de la suite de Fibonacci qui dépasse
seuil.

Vous aimerez peut-être aussi