JAVA_INTRO.doc - Free

Attributs : Les attributs d'une classe contiennent les informations statiques ......
Exercice. Affichez la date du jour au format jj/mm/aaaa. Corrigé. Affichez la date
du ...... La gestion de fichiers de bytes trouve son application dans le compactage
et ...

Part of the document


INTRODUCTION A JAVA C'est l'heure de se réveiller!
Un petit café! [pic]
La documentation : file:///C:/java6doc/docs/index.html
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 38
2.1.11 L'héritage 40
2.1.12 La surcharge 43
Chapitre 3 LES ELEMENTS DE BASE DU LANGAGE 45
3.1 Eléments du langage 45
3.1.1 Les identificateurs 45
3.1.2 Les mots réservés du langage 45
3.1.3 Les littéraux 45
3.1.4 Les séparateurs 46
3.1.5 Convention de nommage 46
3.1.6 Les éléments ignorés : les commentaires 46
3.2 Types du langage 47
3.2.1 Types primitifs 47
3.2.2 Types référence 47
3.3 Les Wrapper Classes 48
3.4 Les variables 49
3.5 Transtypage 50
3.5.1 Transtypage (cast) des types de base 50
3.5.2 Conversions (de type radicalement différents) 52
3.5.3 Transptypage d'objets personnalisés 54
3.6 Les opérateurs 57
3.6.1 Opérateurs arithmétiques 57
3.6.2 Les opérateurs d'affectation et de calcul 57
3.6.3 Opérateurs unaires 59
3.6.4 Opérateurs de comparaison 60
3.6.5 Opérateurs logiques 60
3.6.6 Opérateurs bit à bit 62
3.6.7 L'opérateur ternaire 64
3.7 Contrôle du flot d'exécution 65
3.7.1 Embranchements 65
3.7.1.1 Le if 65
3.7.1.2 Le switch 66
3.7.2 Boucles 67
3.7.2.1 Le do ... while et le while 67
3.7.2.2 Le for 68
3.7.2.3 Le "ForEach" (Version 5) 70
3.8 Ellipse 71
3.9 Les tableaux 72
Chapitre 4 LES ELEMENTS AVANCES DU LANGAGE 76
4.1 Les caractères 76
4.2 Les chaînes de caractères : la Classe String 77
4.3 Les classes StringBuffer et StringBuilder 79
4.4 Les imports Static 80
4.5 Les dates 81
4.5.1 La classe Date 82
4.5.2 La classe Formatter appliquée à un objet Date 83
4.5.3 La classe GregorianCalendar 85
4.5.4 La classe java.text.SimpleDateFormat 89
4.6 La méthode printf 90
4.7 Les annotations 94
4.8 La classe Formatter (java.util.Formatter) 95
4.9 La classe Scanner (java.util.Scanner) 98
4.10 Enumération 99
4.10.1 Rappel sur les constantes 99
4.10.2 Première énumération 100
4.10.3 Deuxième énumération (Comme un tableau) 101
4.10.4 Une énumération complexe (Des structures de données) 102
4.11 Les expressions régulières 103
4.11.1 La base 103
4.11.2 Metacaractères 104
4.11.3 Classes de caractères 104
4.11.4 Ensemble 104
4.11.5 La classe String et la méthode matches() 105
4.11.6 Les classes Pattern et Matcher 107
4.11.6.1 La classe Pattern 107
4.11.6.2 La classe Matcher 110
Chapitre 5 LES COLLECTIONS 115
5.1 Généralités sur les collections 115
5.2 Vector 116
5.3 ArrayList 117
5.4 HashMap 119
5.5 TreeMap 121
5.6 Les Generics 124
Chapitre 6 LES PRINCIPES OBJET AVANCES DE JAVA 126
6.1 La classe Object 127
6.2 Classe abstraite 128
6.3 Les Interfaces 133
6.4 Classes incluses 139
6.5 L'introspection ou la réflexion en Java 140
6.5.1 Les bases 140
6.5.2 Plus avant ... 142
Chapitre 7 LES EXCEPTIONS 148
7.1 Présentation 148
7.2 Absence de gestion des exceptions 149
7.3 La syntaxe de base 150
7.4 Délégation d'exception 152
7.5 Exception personnalisée 154
7.6 Propagation 156
7.7 Hiérarchie des Exceptions 158
Chapitre 8 LES ENTREES/SORTIES 159
8.1 Le package java.io 159
8.2 La classe File 161
8.2.1 Gestion de fichiers 162
8.2.2 Gestion de dossiers 163
8.3 Notion de flux 164
8.4 Les classes associées aux entrées/sorties 165
8.4.1 InputStream et OutputStream 165
8.4.2 Tableau synthétique 166
8.5 Gestion des flux de données 167
8.5.1 FileInputStream et FileOutputStream 167
8.5.1.1 Ecriture d'un fichier de bytes 167
8.5.1.2 Lecture en mode byte 168
8.5.1.3 Lecture et écriture en un seul bloc en mode byte 170
8.5.2 DataOutputStream et DataInputStream 171
8.5.2.1 Filtres des fichiers de données 171
8.5.2.2 Ecriture d'un fichier de float 172
8.5.2.3 Lecture d'un fichier de float 173
8.6 Gestion des flux de caractères 174
8.6.1 Reader et Writer 174
8.6.2 FileReader et FileWriter 174
8.6.3 BufferedReader, BufferedWriter et PrintWriter 175
8.6.3.1 Filtres des fichiers text 175
8.6.3.2 Ecriture d'un fichier text 176
8.6.3.3 Lecture d'un fichier text 177
8.6.3.4 Ajout dans un fichier text 179
Chapitre 9 LA SERIALISATION 180
9.1 Définition 180
9.2 Technique 180
Chapitre 10 LES THREADS 183
10.1 Définition 183
10.2 Syntaxes 184
10.3 Etat d'un thread 185
10.4 Exemple : deux threads sur la même classe 186
10.5 Autre exemple : deux threads sur deux classes différentes 191
10.6 Priorité 194
10.7 La gestion aléatoire du temps de sommeil 196
10.8 Verrouillage : la synchronisation 197
10.9 Attente et notification 200
10.10 Exemples de synchronisation et de notification 201
10.11 Communications inter-threads 206
10.12 Groupes de thread 208
10.13 Annexe : Implémentation de l'interface Runnable 210
Chapitre 11 LES PACKAGES 212
11.1 Définition 213
11.2 Les packages de l'API java 213
11.3 Organisation des packages 214
11.4 Définition et importation de packages 214
11.5 Normalisation des packages 215
11.5.1 Création d'un Paquetage 216
11.5.2 Création de l'archive (le jar) à partir du paquetage 216
11.5.3 Utilisation de l'archive dans un autre projet 217
11.5.4 Utilisation de l'archive dans un projet web 217
11.5.5 Options de compression 218
11.6 Création d'un jar avec Eclipse 220
11.7 Création d'un jar et d'un exécutable avec NetBeans 221
11.8 Création d'un exécutable Windows 221
Chapitre 12 CREER UNE JAVADOC 222
Chapitre 13 ANNEXES 226
13.1 Le débogueur d'eclipse 227
13.2 Le débogueur de NetBeans 232
13.3 Agrégation/Composition 233
13.3.1 La composition 234
13.3.2 L'agrégation 237
13.4 Petite bibliothèque perso sur les dates et autres 238
13.4.1 Divers : affichage console, chaînes, tableau, ... 238
13.4.2 Classe Dates 241
13.5 Les classes du support 245
13.5.1 Liste 245
13.5.2 Diagrammes de classes 246
13.5.2.1 Cours 246
13.5.2.2 Exercices 247
13.5.2.3 Interfaces 248
13.5.2.4 Composition 249
13.6 Scripts en attente 250 PRESENTATION 1 Présentation
Java est un langage objet.
Java est un langage portable.
2 Historique de JAVA
Dans les années 90, des ingénieurs de Sun Microsystems travaillent sur un
projet d'environnement indépendant du hardware pouvant permettre la
programmation d'appareil aussi variés que les téléviseurs, les
magnétoscopes,... James Grosling développa un premier langage - Oak -
permettant de programmer dans cet environnement. En 1992, le projet est
lancé sur le marché : un échec.
Bill Joy - co-fondateur de Sun Microsystems - maintient le projet en
observant la montée en puissance d'Internet qui associe des machines et des
logiciels hétérogènes.
En 1995 Oak est renommé en Java et est soumis à la communauté Internet.Une
machine virtuelle, un compilateur ainsi que de nombreuses spécifications
sont livrées gratuitement. Java s'impose. En janvier 2010 Oracle Corporation a racheté Sun Microsystems pour 5,6
milliards de dollars. 3 Introduction au Java Framework
Le "Java Framework" (Java 2 Platform) est composé de trois éditions,
destinées à des usages différents : J2ME : Java 2 Micro Edition est prévue pour le développement d'applications
embarquées, notamment sur des assistants personnels et terminaux mobiles. J2SE : Java 2 Standard Edition est destinée au développement d'applications
pour ordinateurs personnels (Eventuellement en client/serveur). J2EE : Java 2 Enterprise Edition, destinée à la mise en oeuvre
d'applications client/serveur, principalement sur le WEB. Chaque édition propose un environnement complet pour