Initiation à la Programmation Java
(4GI)
Michel Cubero-Castan
8/10/2006
Copyright (c) 2003 Michel Cubero-Castan
Tous droits réservés.
Table des matières
1 Java Computing ..................................................................................................................... 2
1.1 Introduction .................................................................................................................... 2
1.2 Evolution du modèle informatique ................................................................................ 2
1.2.1 Le modèle centralisé .............................................................................................. 2
1.2.2 Le modèle réseau local .......................................................................................... 3
1.3 Les avantages de Java ................................................................................................... 4
1.4 Le modèle d'exécution ................................................................................................... 4
1.5 Environnement multi-plateforme (matérielle) ............................................................... 5
1.6 Plateforme Java .............................................................................................................. 6
2 Système de développement JDK ........................................................................................... 8
2.1 Classe, Instance, Variable, Méthode .............................................................................. 8
2.2 Hiérarchie, Héritage, Interface, Paquetage .................................................................... 9
2.3 Exemple de programme Java ......................................................................................... 11
2.4 Classpath ........................................................................................................................ 12
2.5 Les outils de JDK .......................................................................................................... 14
2.5.1 javac ....................................................................................................................... 15
2.5.2 java ......................................................................................................................... 16
2.5.3 javadoc ................................................................................................................... 16
2.6 L'application ANT (Apache) ......................................................................................... 17
2.6.1 Fichier XML de description ................................................................................... 17
2.6.2 Lancement de ANT ................................................................................................ 18
3 Les bases de Java .................................................................................................................. 20
3.1 Les bases traditionnelles ................................................................................................ 20
3.1.1 Lexicographie ......................................................................................................... 20
3.1.2 Commentaires ......................................................................................................... 20
3.1.3 Identificateurs ......................................................................................................... 20
3.1.4 Les variables .......................................................................................................... 21
3.1.5 Les types primitifs ................................................................................................. 21
3.1.5.1 Les nombres entiers ........................................................................................ 22
3.1.5.2 Les nombres flottants ..................................................................................... 22
3.1.5.3 Les booléens ................................................................................................... 22
3.1.5.4 Les caractères ................................................................................................. 22
3.1.6 Les chaînes de caractères ....................................................................................... 23
3.1.7 Les tableaux ........................................................................................................... 23
3.1.8 Les opérateurs ........................................................................................................ 24
3.1.8.1 Opérations arithmétiques ................................................................................ 24
3.1.8.2 Concaténation de chaînes de caractères ......................................................... 25
3.1.8.3 Opérations de comparaisons ........................................................................... 25
3.1.8.4 Opérations logiques ........................................................................................ 25
3.1.8.5 Opérations de manipulation binaire ............................................................... 26
3.1.8.6 Affectation ...................................................................................................... 27
3.1.8.7 Conversion ...................................................................................................... 27
3.1.8.8 Précédence des opérateurs .............................................................................. 28
3.1.9 Les structures de contrôle ...................................................................................... 28
3.1.9.1 Le bloc d'instructions ..................................................................................... 29
3.1.9.2 Branchement conditionnel .............................................................................. 29
3.1.9.3 Choix multiple ................................................................................................ 30
3.1.9.4 Boucles ........................................................................................................... 30
3.1.10 Les exceptions ...................................................................................................... 33
3.2 Les bases de l'orientation objet ..................................................................................... 35
3.2.1 Les paquetages ....................................................................................................... 35
3.2.2 Les classes .............................................................................................................. 36
3.2.3 Les méthodes .......................................................................................................... 38
3.2.4 Les constructeurs .................................................................................................... 42
3.2.5 Les interfaces ......................................................................................................... 45
3.2.6 Les variables .......................................................................................................... 46
3.3 Exemple de classe, l'Heure ............................................................................................ 48
3.4 Variations sur le polymorphisme ................................................................................... 49
3.4.1 Le problème initial ................................................................................................. 50
3.4.2 Polymorphisme de méthode (surcharge) ................................................................ 50
3.4.3 Méthode abstraite ................................................................................................... 51
3.4.4 Interface .................................................................................................................. 52
3.4.5 Interface et méthode abstraite ................................................................................ 52
3.4.6 Classe membre statique .......................................................................................... 53
3.4.7 Classe membre ....................................................................................................... 54
3.4.8 Classe locale ........................................................................................................... 55
3.4.9 Classe anonyme ...................................................................................................... 56
3.5 Allocation dynamique d'objets ...................................................................................... 57
3.5.1 Clone ...................................................................................................................... 57
3.5.2 Libération ............................................................................................................... 59
3.5.3 Options (non standards) de la commande java ...................................................... 61
4 API standard .......................................................................................................................... 62
4.1 Utilisation de l'API ........................................................................................................ 62
4.2 java.lang.* ...................................................................................................................... 63
4.2.1 Classes liées au langage ......................................................................................... 63
4.2.2 Classes liées à la machine virtuelle ....................................................................... 65
4.3 java.util.* ........................................................................................................................ 66
4.3.1 java.util.StringTokenizer ........................................................................................ 66
4.3.2 java.util.Vector ....................................................................................................... 67
4.3.3 java.util.Enumeration ............................................................................................. 68
4.3.4 java.util.Hashtable .................................................................................................. 69
4.3.5 java.util.Observer et java.util.Observable .............................................................. 70
4.4 java.io.* .......................................................................................................................... 72
4.4.1 Entrées-sorties standard .......................................................................................... 72
4.4.2 Entrées-sorties sur fichiers ..................................................................................... 73
5 Réflexion ............................................................................................................................... 76
5.1 java.lang.Class ............................................................................................................... 76
5.2 Création d'instance ......................................................................................................... 78
5.3 Appel de méthode .......................................................................................................... 79
5.4 Traitement des variables ................................................................................................ 80
6 Les Threads ........................................................................................................................... 81
6.1 Utilisation des Threads .................................................................................................. 82
6.1.1 Classe java.lang.Thread .......................................................................................... 82
6.1.2 Interface java.lang.Runnable .................................................................................. 82
6.2 Cycle de vie des Threads .............................................................................................. 83
6.3 Ordonnancement des Threads ........................................................................................ 84
6.4 Synchronisation des Threads ......................................................................................... 85
6.5 Groupe de Threads ........................................................................................................ 88
6.6 Les processus ................................................................................................................. 90
1 / 98 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 !