INTRODUCTION A JAVA
C'est l'heure de se réveiller!
Un petit café!
La documentation :
file:///C:/java6doc/docs/index.html
JAVA Introduction
© Pascal Buguet 15 avril 2017
2
Table des matières
Chapitre 1 PRESENTATION __________________________________________________________6
1.1 Présentation _________________________________________________________________6
1.2 Historique de JAVA ___________________________________________________________6
1.3 Introduction au Java Framework ________________________________________________7
1.3.1 Schéma de la plateform Java ________________________________________________7
1.3.2 J2EE ___________________________________________________________________8
1.3.3 Les API de J2EE __________________________________________________________9
1.4 L'environnement ____________________________________________________________11
1.4.1 L'environnement de développement et d'exécution _____________________________11
1.4.2 Où récupérer cet environnement? ___________________________________________11
1.4.3 Les fichiers d'aide : la javadoc ______________________________________________12
1.4.4 Création, compilation et exécution d'un programme ____________________________13
1.4.5 Créer un jar ____________________________________________________________14
1.4.6 Le schéma général : de l'écriture à l'exécution _________________________________16
1.4.7 Le squelette syntaxique d'une classe-programme ______________________________17
1.4.8 Le schéma général de base du code d'une classe ______________________________18
1.4.9 Exemple d'une classe avec passage d'arguments à la méthode main() _____________19
Chapitre 2 LES PRINCIPES OBJET DE JAVA ____________________________________________20
2.1 L'approche orientée objet _____________________________________________________20
2.1.1 Classe _________________________________________________________________21
2.1.1.1 Attributs et opérations ________________________________________________22
2.1.1.2 Portée des attributs et opérations _______________________________________22
2.1.1.3 Attributs, état et comportement _________________________________________22
2.1.2 Message _______________________________________________________________23
2.1.3 Objet __________________________________________________________________24
2.1.4 Classe et instance ________________________________________________________25
2.1.5 Quelques conventions de nommage _________________________________________26
2.1.6 Premier programme : la classe "programme" __________________________________26
2.1.7 Les propriétés ___________________________________________________________28
2.1.8 Les méthodes ___________________________________________________________29
2.1.9 Compléments ___________________________________________________________35
2.1.9.1 Les éléments statiques (static) __________________________________________35
2.1.9.2 L'utilisation de this ___________________________________________________36
2.1.9.3 Les constructeurs et destructeurs _______________________________________37
2.1.10 Le polymorphisme _______________________________________________________39
2.1.11 L'héritage ______________________________________________________________42
2.1.12 La surcharge ____________________________________________________________45
Chapitre 3 LES ELEMENTS DE BASE DU LANGAGE _______________________________________47
3.1 Eléments du langage _________________________________________________________47
3.1.1 Les identificateurs________________________________________________________47
3.1.2 Les mots réservés du langage ______________________________________________47
3.1.3 Les littéraux ____________________________________________________________47
3.1.4 Les séparateurs _________________________________________________________48
3.1.5 Convention de nommage __________________________________________________48
3.1.6 Les éléments ignorés : les commentaires _____________________________________48
3.2 Types du langage____________________________________________________________49
3.2.1 Types primitifs __________________________________________________________49
3.2.2 Types référence _________________________________________________________49
3.3 Les Wrapper Classes _________________________________________________________50
3.4 Les variables _______________________________________________________________51
JAVA Introduction
© Pascal Buguet 15 avril 2017
3
3.5 Transtypage ________________________________________________________________52
3.5.1 Transtypage (cast) des types de base ________________________________________52
3.5.2 Conversions (de type radicalement différents) _________________________________54
3.5.3 Transptypage d'objets personnalisés _________________________________________57
3.6 Les opérateurs ______________________________________________________________60
3.6.1 Opérateurs arithmétiques _________________________________________________60
3.6.2 Les opérateurs d'affectation et de calcul ______________________________________60
3.6.3 Opérateurs unaires _______________________________________________________62
3.6.4 Opérateurs de comparaison ________________________________________________63
3.6.5 Opérateurs logiques ______________________________________________________63
3.6.6 Opérateurs bit à bit ______________________________________________________65
3.6.7 L'opérateur ternaire ______________________________________________________67
3.7 Contrôle du flot d’exécution ___________________________________________________68
3.7.1 Embranchements ________________________________________________________68
3.7.1.1 Le if _______________________________________________________________68
3.7.1.2 Le switch ___________________________________________________________69
3.7.2 Boucles ________________________________________________________________70
3.7.2.1 Le do … while et le while ______________________________________________70
3.7.2.2 Le for ______________________________________________________________71
3.7.2.3 Le "ForEach" (Version 5) ______________________________________________73
3.8 Ellipse _____________________________________________________________________74
3.9 Les tableaux ________________________________________________________________75
Chapitre 4 LES ELEMENTS AVANCES DU LANGAGE ______________________________________79
4.1 Les caractères ______________________________________________________________79
4.2 Les chaînes de caractères : la Classe String _______________________________________80
4.3 Les classes StringBuffer et StringBuilder _________________________________________82
4.4 Les imports Static ___________________________________________________________83
4.5 Les dates __________________________________________________________________84
4.5.1 La classe Date___________________________________________________________85
4.5.2 La classe Formatter appliquée à un objet Date_________________________________86
4.5.3 La classe GregorianCalendar _______________________________________________88
4.5.4 La classe java.text.SimpleDateFormat ________________________________________93
4.6 La méthode printf ___________________________________________________________94
4.7 Les annotations _____________________________________________________________98
4.8 La classe Formatter (java.util.Formatter) _________________________________________99
4.9 La classe Scanner (java.util.Scanner) __________________________________________ 102
4.10 Enumération ____________________________________________________________ 104
4.10.1 Rappel sur les constantes _______________________________________________ 104
4.10.2 Première énumération __________________________________________________ 105
4.10.3 Deuxième énumération (Comme un tableau) ________________________________ 106
4.10.4 Une énumération complexe (Des structures de données) ______________________ 107
4.11 Les expressions régulières _________________________________________________ 108
4.11.1 La base ______________________________________________________________ 108
4.11.2 Metacaractères ________________________________________________________ 109
4.11.3 Classes de caractères ___________________________________________________ 109
4.11.4 Ensemble ____________________________________________________________ 109
4.11.5 La classe String et la méthode matches() ___________________________________ 110
4.11.6 Les classes Pattern et Matcher ___________________________________________ 112
4.11.6.1 La classe Pattern ___________________________________________________ 112
4.11.6.2 La classe Matcher __________________________________________________ 116
Chapitre 5 LES COLLECTIONS _____________________________________________________ 121
5.1 Généralités sur les collections ________________________________________________ 121
5.2 Vector ___________________________________________________________________ 122
5.3 ArrayList _________________________________________________________________ 123
5.4 HashMap ________________________________________________________________ 125
5.5 TreeMap _________________________________________________________________ 128
5.6 Les Generics ______________________________________________________________ 131
Chapitre 6 LES PRINCIPES OBJET AVANCES DE JAVA __________________________________ 133
JAVA Introduction
© Pascal Buguet 15 avril 2017
4
6.1 La classe Object ___________________________________________________________ 134
6.2 Classe abstraite ___________________________________________________________ 135
6.3 Les Interfaces ____________________________________________________________ 141
6.4 Classes incluses ___________________________________________________________ 148
6.5 L'introspection ou la réflexion en Java _________________________________________ 149
6.5.1 Les bases ____________________________________________________________ 149
6.5.2 Plus avant … __________________________________________________________ 151
Chapitre 7 LES EXCEPTIONS ______________________________________________________ 157
7.1 Présentation ______________________________________________________________ 157
7.2 Absence de gestion des exceptions ___________________________________________ 158
7.3 La syntaxe de base ________________________________________________________ 159
7.4 Délégation d'exception _____________________________________________________ 161
7.5 Exception personnalisée ____________________________________________________ 163
7.6 Propagation ______________________________________________________________ 167
7.7 Hiérarchie des Exceptions ___________________________________________________ 169
Chapitre 8 LES ENTREES/SORTIES _________________________________________________ 170
8.1 Le package java.io _________________________________________________________ 170
8.2 La classe File _____________________________________________________________ 172
8.2.1 Gestion de fichiers _____________________________________________________ 173
8.2.2 Gestion de dossiers ____________________________________________________ 174
8.3 Notion de flux _____________________________________________________________ 176
8.4 Les classes associées aux entrées/sorties _______________________________________ 177
8.4.1 InputStream et OutputStream ____________________________________________ 177
8.4.2 Tableau synthétique ____________________________________________________ 178
8.5 Gestion des flux de données _________________________________________________ 179
8.5.1 FileInputStream et FileOutputStream ______________________________________ 179
8.5.1.1 Ecriture d’un fichier de bytes _________________________________________ 179
8.5.1.2 Lecture en mode byte _______________________________________________ 180
8.5.1.3 Lecture et écriture en un seul bloc en mode byte _________________________ 182
8.5.2 DataOutputStream et DataInputStream ____________________________________ 183
8.5.2.1 Filtres des fichiers de données ________________________________________ 183
8.5.2.2 Ecriture d'un fichier de float __________________________________________ 184
8.5.2.3 Lecture d'un fichier de float __________________________________________ 185
8.6 Gestion des flux de caractères _______________________________________________ 186
8.6.1 Reader et Writer _______________________________________________________ 186
8.6.2 FileReader et FileWriter _________________________________________________ 186
8.6.3 BufferedReader, BufferedWriter et PrintWriter _______________________________ 187
8.6.3.1 Filtres des fichiers text ______________________________________________ 187
8.6.3.2 Ecriture d'un fichier text _____________________________________________ 188
8.6.3.3 Lecture d'un fichier text _____________________________________________ 189
8.6.3.4 Ajout dans un fichier text ____________________________________________ 192
Chapitre 9 LA SERIALISATION _____________________________________________________ 193
9.1 Définition ________________________________________________________________ 193
9.2 Technique ________________________________________________________________ 193
Chapitre 10 LES THREADS _______________________________________________________ 198
10.1 Définition ______________________________________________________________ 198
10.2 Syntaxes _______________________________________________________________ 199
10.3 Etat d’un thread _________________________________________________________ 200
10.4 Exemple : deux threads sur la même classe ___________________________________ 201
10.5 Autre exemple : deux threads sur deux classes différentes _______________________ 206
10.6 Priorité ________________________________________________________________ 209
10.7 La gestion aléatoire du temps de sommeil ____________________________________ 211
10.8 Verrouillage : la synchronisation ____________________________________________ 212
10.9 Attente et notification ____________________________________________________ 215
10.10 Exemples de synchronisation et de notification ________________________________ 216
10.11 Communications inter-threads ______________________________________________ 221
10.12 Groupes de thread _______________________________________________________ 223
10.13 Annexe : Implémentation de l’interface Runnable ______________________________ 226
JAVA Introduction
© Pascal Buguet 15 avril 2017
5
Chapitre 11 LES PACKAGES ______________________________________________________ 228
11.1 Définition ______________________________________________________________ 229
11.2 Les packages de l’API java ________________________________________________ 229
11.3 Organisation des packages ________________________________________________ 230
11.4 Définition et importation de packages _______________________________________ 230
11.5 Normalisation des packages _______________________________________________ 231
11.5.1 Création d'un Paquetage ________________________________________________ 232
11.5.2 Création de l'archive (le jar) à partir du paquetage ___________________________ 232
11.5.3 Utilisation de l'archive dans un autre projet _________________________________ 233
11.5.4 Utilisation de l'archive dans un projet web __________________________________ 233
11.5.5 Options de compression _________________________________________________ 234
11.6 Création d'un jar avec Eclipse ______________________________________________ 236
11.7 Création d'un jar et d'un exécutable avec NetBeans ____________________________ 237
11.8 Création d'un exécutable Windows __________________________________________ 237
Chapitre 12 CREER UNE JAVADOC_________________________________________________ 238
Chapitre 13 ANNEXES ___________________________________________________________ 242
13.1 Le débogueur d'eclipse ___________________________________________________ 243
13.2 Le débogueur de NetBeans ________________________________________________ 248
13.3 Agrégation/Composition___________________________________________________ 249
13.3.1 La composition ________________________________________________________ 250
13.3.2 L'agrégation __________________________________________________________ 253
13.4 Petite bibliothèque perso sur les dates et autres _______________________________ 254
13.4.1 Divers : affichage console, chaînes, tableau, … ______________________________ 254
13.4.2 Classe Dates __________________________________________________________ 258
13.5 Les classes du support ____________________________________________________ 262
13.5.1 Liste_________________________________________________________________ 262
13.5.2 Diagrammes de classes _________________________________________________ 263
13.5.2.1 Cours ____________________________________________________________ 263
13.5.2.2 Exercices _________________________________________________________ 264
13.5.2.3 Interfaces ________________________________________________________ 265
13.5.2.4 Composition_______________________________________________________ 266
13.6 Scripts en attente ________________________________________________________ 267
1 / 267 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !