Programmation java

Java possède de nombreuses caractéristiques qui en font un des langages de choix
pour l’enseignement de l’algorithmique et de la programmation.
En effet, Java a été conçu pour mettre en œuvre des applications susceptibles de
s’exécuter sur n’importe qu’elle plate-forme, ce qui est très avantageux dans le cas
d’environnements scolaires hétérogènes.
Java est un langage fortement typé, donc très sûr. Il offre en même temps une
souplesse relative grâce aux opérations de coercition de type (« casting »). En plus
du typage fort, Java met à disposition plusieurs niveaux de protection des données
(les modes «
public
», «
protected
», «
private
», ..), ainsi qu’un mécanisme de
traitement des exceptions très sophistiqué.

5 téléchargements

Noter ce document

-- / 20

Contenu de ce document de Informatique > Programmation

Plan :

1.
PREAMBULE
9
2.
STRUCTURE D’UN PROGRAMME : LES PAQUETAGES 13
2.1
Elaboration et utilisation d’un paquetage
14
2.1.1
Elaboration
14
2.1.2
Utilisation
14
2.1.3
Les hiérarchies de paquetages
15
2.1.4
Relations avec le système de gestion de fichiers
16
2.2
Structure d’une application Java
16
2.3
Librairies de packages
17
3.
CLASSES ET OBJETS
21
3.1
Généralités
21
3.2
Comment déclarer une classe
23
3.3
Variables d\'instance
27
3.4
Variables de classe
30
3.5
Les méthodes
32
3.5.1
Aperçu général
32
3.5.2
Distinguer les procédures des fonctions
33
3.5.3
Invoquer une méthode : l\'envoi de message
34
3.5.4
La portée des méthodes : «
public
», «
private
» et «
protected
» 35
3.5.5
Les méthodes de classe et les méthodes d\'instance (mot-clé «
static
») 35
3.5.6
Les méthodes abstraites (mot-clé «
abstract
»)
37
3.5.7
Variables et paramètres
37
3.5.8
Les constructeurs
41
3.5.9
Le destructeur
44
3.5.10
La surcharge des méthodes
44
3.5.11
La redéfinition des méthodes
46
3.5.12
La fonction «
main
»
47
3.5.13
La récursivité
48
3.5.14
Exceptions levées par une méthode
49
3.6
Création d\'un objet
50
3.7
Copie d’objets
52
Manuel Java – HES/SO – Eric Lefrançois - 16.11.2002 09:11

4 -
-
3.8
Les mot-clés «
this
» et «
super
»
57
4.
HERITAGE ET POLYMORPHISME
59
4.1
Java et le mécanisme d’héritage
60
4.2
Bien utiliser l\'héritage
63
4.2.1
L\'héritage, un outil de spécialisation
63
4.2.2
La relation « est-un »
66
4.2.3
Le sous-typage
67
4.2.4
La règle de substitution
68
4.3
La redéfinition des méthodes
69
4.3.1
Edition de liens dynamique
70
4.3.2
Le type déclaré et le type courant d\'un objet
71
4.3.3
Règles à respecter lors de la redéfinition d’une méthode 72
4.3.4
Est-il possible de changer le mode de protection ?
73
4.3.5
Interdire la redéfinition, bloquer l’héritage
74
4.3.6
Les exceptions et la redéfinition
74
4.4
Le polymorphisme
75
4.4.1
Généralités
75
4.4.2
Comparons Java, Smalltalk et C++
76
4.4.3
De l\'intérêt du polymorphisme..
76
4.4.4
Méthodes abstraites
76
4.5
Masquage d\'un attribut (d’une variable d’instance)
79
4.6
Un bilan sur les modes de protection
79
4.6.1
Le mode « privé »
80
4.6.2
Le mode « public »
80
4.6.3
Le mode « protégé »
81
4.7
Héritage et redéfinition du mode de protection
84
4.8
Enchaînement des constructeurs
84
4.9
Les classes abstraites
87
4.10
Le mot-clé « super »
90
4.11
Héritage d\'une variable de classe
90
4.12
Héritage d\'une méthode de classe
91
5.
INTERFACES
93
5.1
Implémenter une interface
94
5.2
A quoi ça sert ?
97
Manuel Java – HES/SO – Eric Lefrançois - 16.11.2002 09:11

5 -
-
5.3
Quelques exemple tirés de la librairie Java
100
6.
LES TYPES DE JAVA
103
6.1
Généralités
103
6.2
Les types primitifs
106
6.3
Les tableaux en Java
107
6.4
Les chaînes de caractères
110
6.5
Conversions de types
112
6.5.1
Conversions entre types primitifs
112
6.5.2
Conversions entre objets
115
6.5.3
Conversions de types primitifs en objets
118
6.5.4
Conversions entre numériques et chaînes de caractères 119
7.
LES EXPRESSIONS
121
7.1
Les valeurs littérales
122
7.2
Les opérateurs
124
7.2.1
Evaluation d\'une expression
124
7.2.2
Liste des opérateurs avec leur priorité
125
7.2.3
L\'opérateur
«new»:
création d’un objet
127
7.2.4
L’opérateur
«.»
: envoi de message, accès aux variables d’un objet 127
7.2.5
Opérateur
«[]»
129
7.2.6
Opérateurs arithmétiques : * / + - %
129
7.2.7
Concaténation de chaînes : opérateur
«+»
130
7.2.8
Les opérateurs logiques : == ! != & | && ...
130
7.2.9
Opérateur d\'affectation :
«=»
131
7.2.10
Opérateurs d\'affectation composé :
«+=» «-=» «*=»
133
7.2.11
Opérateurs
«++»
et
«--»
134
7.2.12
Le if arithmétique :
«?:»
134
7.2.13
Opérateurs de bit s : ~ << >> >>> & ^ |
134
7.2.14
L\'opérateur «
instanceof
»
135
8.
INSTRUCTIONS DE JAVA
137
8.2
Les étiquettes d\'instructions (labels)
139
8.3
Instructions « expression »
140
8.4
Instruction composite
140
Manuel Java – HES/SO – Eric Lefrançois - 16.11.2002 09:11

6 -
-
8.5
Instructions conditionnelles (les «
if
»)
141
8.5.1
Instruction «
if
»
141
8.5.2
Instruction «
if
» avec clause «
else
»
142
8.5.3
La forme «
else if
»
143
8.5.4
L\'opérateur conditionnel
«?

143
8.5.5
Instruction «
switch
»
144
8.6
Instructions itératives
145
8.6. 1
Instruction «
while
»
145
8.6.2
Instruction «
do
»
146
8.6.3
Instruction «
for
»
146
8.7
Instructions de saut
148
8.7.1
Instruction «
break
»
148
8.7.2
Instruction «
continue
»
149
8.7.3
Instruction «
return
»
149
8.7.4
L\'instruction «
throw
»
150
8.8
L\'instruction de synchronisation «
synchronized
» 150
8.9
Instructions pour le traitement des exceptions
151
9.
LE TRAITEMENT DES EX CEPTIONS
153
9.1
Le traitement des erreurs
153
9.2
Lever une exception
155
9.3
La propagation d’une exception
158
9.4
La récupération d’une exception («
try
..
catch
»)
159
9.5
Hiérarchie des classes d’exception
160
9.6
Exceptions de type «
RunTimeException
»
163
9.7
Exercice
163
10.
PROGRAMMATION CONCURRENTE EN JAVA 165
10.1
Généralités
166
10.2
Diagramme d’états et de transitions
170
10.3
Réaliser des objets actifs en Java
174
10.4
Scheduling : politique d’allocation du processeur 176
10.5
Exclusion mutuelle : verrouillage d’un objet
181
Manuel Java – HES/SO – Eric Lefrançois - 16.11.2002 09:11

7 -
-
10.6
Rendez -vous entre threads
186
10.6.1
Le mécanisme offert par Java
186
10.6.2
Dans le détail ..
188
10.6.3
Un modèle standard pour utiliser «
wait()
»
191
10.6.4
Exemple: une file d\'attente
192
10.7
Les threads démons
193
10.8
Les groupes de threads
193
10.9
Annexes
194
10.9.1
Méthodes de la classe «
Thread
»
194
10.9.2
Méthodes de la classe «
Object
»
197
10.9.3
Les threads de la machine virtuelle
198
10.9.4
Les méthodes «
stop()
» et «
suspend()
» sont « deprecated » dans java 1.2 200
10.9.5
Interruption des threads
200
11.
LES APPLETS
201
11.1
Intérêt des applets
203
11.2
Lancement d’une applet, différence avec une application 203
11.3
Le cycle de vie d’une applet
205
11.4
Dessiner dans une applet, ajout de composants « GUI » 208
11.4.1
Les applets sont de riches héritières..
208
11.4.2
Dessiner dans une applet
210
11.4.3
Un exemple : un chronomètre dans une applet
211
11.4.4
Ajouter un composant « GUI »
215
11.5
Les threads et les applets
220
11.6
La sécurité et le droit des applets
224
11.6.2
Ce qui est interdit aux applets
228
11.6.3
Ce qui est permis aux applets
228
11.6.4
Comment manipuler les ressources WEB dans une applet ? 230
11.7
La balise et les paramètres
232
11.8
Points divers
235
12.
ENTREES -SORTIES EN JAVA
239
12.2
Notion de flux
241
12.3
Les flux à disposition dans la librairie Java
242
12.3.2
Analyse des superclasses abstraites «
Reader
», «
Writer
», «
InputStream
» et «
OutputStream
»
243
12.3.3
Utilisation des flux primaires
244
12.3.4
Utilisation des flux de traitement
245
Manuel Java – HES/SO – Eric Lefrançois - 16.11.2002 09:11

8 -
-
12.3.5
Un exemple: lecture et écriture dans un fichier d’entiers 247
12.3.6
Les flux standard «
in
» et «
out
»
249
12.4
La sérialisation des objets
250
12.5
Hiérarchie des types de fenêtres
254
12.5.1
La classe «
Component
»
254
12.5.2
La classe «
Window
»
254
12.5.3
La classe «
Dialog
»
256
12.5.4
La classe «
Frame
»
257
12.5.5
Le ges tionnaire de présentation «
BorderLayout
» 257
12.6
Gestion des événements
259
12.6.1
Première méthode : les « écouteurs » s’abonnent aux événements 260
12.6.2
Deuxième méthode : en utilisant les masques d’événements 268
13.
QUELQUES ANNEXES
271
13.1
La classe «StringTokenizer»
271
13.2
Pour imprimer en Java
272
13.2.1
Imprimer depuis une application autonome
272
13.2.2
Imprimer depuis une applet
273
13.2.3
Imprimer de façon un peu moins portable ...
273
13.2.4
Applets : imprimer via des fichiers HTML
273
Manuel Java – HES/SO – Eric Lefrançois - 16.11.2002 09:11

5 téléchargements

Il faut être inscrit pour télécharger un document

Crée un compte gratuit pour télécharger ce document

Je m'inscrisOU

J'ai déjà un compte

Je me connecte