Java concentré sucré
Petit opuscule de concentré Java destiné aux étudiants ayant des notions de programmation.
Daniel Tschirhart
Java concentré sucré V1.3 -ii-
Daniel Tschirhart. Edition du 06/09/2013, mise à jour 06/09/13 (Java concentré sucré2013.docx).
Un objet est une capsule logicielle oblative avec un tropisme conatif dont l'hétéronomie est la marque de la durée de l'éphémère et de la hoirie.
Serge MIRANDA
Introduction à La Programmation Orientée Objet _____________________________________ 1
Java et la POO __________________________________________________________________ 1
Les classes ____________________________________________________________________ 1
Que contient une classe _______________________________________________________________ 1
Une classe contient des déclarations d'attributs ______________________________________________________1
Une classe contient des définitions de méthodes. _____________________________________________________1
Portée des attributs et des méthodes ____________________________________________________ 2
Quelle portée utiliser ? __________________________________________________________________________2
Attribut et méthodes d'instance, attribut et méthode de classe _______________________________ 2
Quand faut-il rendre un attribut ou une fonction statique ________________________________________________3
Règles de nommage des classes, attributs et méthodes (important) : _________________________ 3
Portée d'une classe ___________________________________________________________________ 3
Comment définir une classe ____________________________________________________________ 3
Exemple de classe ____________________________________________________________________ 3
Syntaxe des accès aux attributs et aux méthodes. _________________________________________ 4
Compiler une classe __________________________________________________________________ 4
Exécuter un programme Java ___________________________________________________________ 5
Exercices ____________________________________________________________________________ 5
Les données manipulées par Java _________________________________________________ 7
Types de données manipulées par Java __________________________________________________ 7
Données de type valeur _________________________________________________________________________7
Données de type référence ______________________________________________________________________7
Accès aux attributs et méthodes (rappel) _________________________________________________ 7
Au sein de la classe ____________________________________________________________________________7
En dehors de la classe __________________________________________________________________________7
Création (instanciation) des objets ______________________________________________________ 7
Représentation textuelle d'un objet ______________________________________________________ 7
Destruction des objets _________________________________________________________________ 8
Point d'entrée d'un programme Java _______________________________________________ 8
Où commence un programme Java ? ____________________________________________________ 8
Exercices ____________________________________________________________________________ 8
Ecriture et exécution des programmes Java _________________________________________ 9
Edition des programmes Java (rappel) ___________________________________________________ 9
Compilation des programmes Java (rappel) _______________________________________________ 9
Ligne de commande de compilation________________________________________________________________9
Byte code Java ________________________________________________________________________________9
Chargement des objets en mémoire _______________________________________________________________9
Paramétrage des chemins de compilation du JDK et des exécutables du JRE __________________ 9
Rendre un programme java exécutable : archive JAR ______________________________________ 10
Créer un JAR à l’aide d’eclipse _________________________________________________________ 12
Documenter vos programmes avec la JavaDoc ______________________________________ 13
Qu'appelle-t-on documenter les programmes ? ___________________________________________ 13
La JavaDoc _________________________________________________________________________ 13
Java concentré sucré V1.3 -iii-
Daniel Tschirhart. Edition du 06/09/2013, mise à jour 06/09/13 (Java concentré sucré2013.docx).
Que peut-on documenter ______________________________________________________________ 13
Générer la documentation _____________________________________________________________ 13
Exemple de documentation ____________________________________________________________ 13
Une classe très utilisée : La classe String __________________________________________ 15
Présentation ________________________________________________________________________ 15
Constructeurs principaux _____________________________________________________________ 15
Principales méthodes ________________________________________________________________ 16
Manipulation des caractères de la chaîne _________________________________________________________ 16
Comparaisons et tests ________________________________________________________________________ 17
Recherches ________________________________________________________________________________ 17
Conversions ________________________________________________________________________ 18
La Classe StringBuffer __________________________________________________________ 18
Présentation ________________________________________________________________________ 18
Constructeurs principaux _____________________________________________________________ 18
Principales méthodes ________________________________________________________________ 18
transpypage des primitifs________________________________________________________ 19
Affectations entre primitifs de type différents _____________________________________________ 19
Conversion de primitifs en objet à l'aide de leur classe enveloppe ___________________________ 19
Nécessité des conversions ____________________________________________________________ 19
Exemple ____________________________________________________________________________ 19
Formatage des données _________________________________________________________ 21
Formatage des flux __________________________________________________________________ 21
Formatage des chaines de caractères ___________________________________________________ 21
Exemple ____________________________________________________________________________ 21
Opérations E/S console _________________________________________________________ 23
Entrées de données à partir du clavier __________________________________________________ 23
Exemple d'utilisation _________________________________________________________________ 23
Mécanismes de réutilisation _____________________________________________________ 25
Réutilisation ! _______________________________________________________________________ 25
L'agrégation ________________________________________________________________________ 25
La composition ______________________________________________________________________ 26
L'héritage __________________________________________________________________________ 28
Comment fait-on ! ____________________________________________________________________________ 28
Classes abstraites et methodes virtuelles pures ____________________________________________________ 29
Classes interface ____________________________________________________________________ 31
Gestion des erreurs d’exécution : exceptions _______________________________________ 33
Gérer les erreurs d’exécution __________________________________________________________ 33
Gestion des erreurs à base d’exceptions ________________________________________________ 33
Mise en place d’un mécanisme de gestion d’erreurs à base d’exceptions _____________________ 33
Esquiver une ou plusieurs exceptions ___________________________________________________ 34
Le langage des expressions régulières ____________________________________________ 35
Syntaxe des motifs d’expression régulière _______________________________________________ 35
Liste des méta caractères _____________________________________________________________________ 35
Java concentré sucré V1.3 -iv-
Daniel Tschirhart. Edition du 06/09/2013, mise à jour 06/09/13 (Java concentré sucré2013.docx).
Séquence d’échappement _____________________________________________________________________ 35
Répétitions _________________________________________________________________________________ 35
Frontières de recherche _______________________________________________________________________ 36
Classes de caractères ________________________________________________________________________ 36
Règles de constructions des classes de caractères personnalisées _____________________________________ 36
Groupes ___________________________________________________________________________________ 36
Quantificateurs ______________________________________________________________________________ 37
Mise en œuvre des expressions régulières dans la classe String _______________________________________ 37
Mise en œuvre des expressions régulières dans la classe Pattern ____________________________________ 37
Introductions aux Collections (conteneurs) _________________________________________ 41
Types de collection __________________________________________________________________ 41
Collections séquentielles _____________________________________________________________ 41
Vecteurs (Array) _____________________________________________________________________________ 41
Pile _______________________________________________________________________________________ 41
File fifo ____________________________________________________________________________________ 41
Sacs (bags) ________________________________________________________________________________ 42
Ensembles (set) _____________________________________________________________________________ 42
Collections associatives ______________________________________________________________ 42
Structures de données utilisées pour fabriquer les collections (structures de données
fondamentales) ______________________________________________________________________ 42
Tableau ____________________________________________________________________________________ 42
Listes liées simples___________________________________________________________________________ 42
Listes doublement liées _______________________________________________________________________ 43
Arbres binaire _______________________________________________________________________________ 44
Tables à adressage dispersé (hastable) __________________________________________________________ 44
Type de données abstrait et structures de données fondamentales __________________________ 45
Les classes paramétrées ________________________________________________________ 47
Nécessité de transtyper les types Object ________________________________________________ 47
Utilisation des classes génériques ______________________________________________________ 47
Boxing et unboxing automatique _______________________________________________________ 48
Définition d'une classe générique ______________________________________________________ 48
Instanciation d'une classe générique____________________________________________________ 48
Les Collections séquentielles dans Java ___________________________________________ 49
Graphe d'héritage simplifié des collections séquentielle Java _______________________________ 49
Parcourt des collections ______________________________________________________________ 49
Interface List (T.D.A.) _________________________________________________________________ 50
Classes concretes Vector, ArrayList, LinkedList (S.D.F.) ___________________________________ 50
Les ensembles : Interface Set (T.D.A.) ___________________________________________________ 51
Classe concrètes HashSet, TreeSet (S.D.F.) ______________________________________________ 52
Les Collections Java associatives ________________________________________________ 53
Définitions __________________________________________________________________________ 53
Hiérarchie des classes des conteneurs associatifs ________________________________________ 53
Interface MAP (T.D.A.) ________________________________________________________________ 53
Classe TreeMap (S.D.F.) ______________________________________________________________ 54
Classe HashMap (S.D.F.) ______________________________________________________________ 54
Les opérations Entrées/sortie ____________________________________________________ 55
Les flots Java _______________________________________________________________________ 55
Construire les flots Java _______________________________________________________________________ 55
Utiliser les flots Java __________________________________________________________________________ 56
Java concentré sucré V1.3 -v-
Daniel Tschirhart. Edition du 06/09/2013, mise à jour 06/09/13 (Java concentré sucré2013.docx).
Flots prédéfinis ______________________________________________________________________ 57
Les fichiers _________________________________________________________________________ 57
Instancier des objets fichiers ___________________________________________________________________ 57
Chemin des fichiers. __________________________________________________________________________ 57
Fichiers d'octets _____________________________________________________________________________ 57
Fichiers de caractères ________________________________________________________________________ 58
Fichiers de caractères lecture/ecriture lignes par lignes ______________________________________________ 58
Fichiers d'éléments primitifs ____________________________________________________________________ 58
Fichiers d'objets _____________________________________________________________________________ 59
La programmation graphique ____________________________________________________ 61
API graphiques de Java _______________________________________________________________ 61
Classes principales de l'API AWT ______________________________________________________ 61
Création d'une fenêtre ________________________________________________________________ 61
Principaux éléments d’IHM ____________________________________________________________ 62
Les labels __________________________________________________________________________________ 62
Les zones d'édition ___________________________________________________________________________ 63
Les cases à cocher___________________________________________________________________________ 64
Les boutons ________________________________________________________________________________ 65
Les combos ________________________________________________________________________________ 65
Les boites à listes ____________________________________________________________________________ 66
Les TextArea _______________________________________________________________________________ 67
FileDialog __________________________________________________________________________________ 68
Disposer les contrôles dans la fenêtre __________________________________________________ 70
Exemple ___________________________________________________________________________________ 70
Mettre en place les contrôles dans la fenêtre _____________________________________________ 70
Exemple ___________________________________________________________________________________ 70
Caractéristiques communes aux contrôles _______________________________________________ 70
Couleur d'avant plan et arrière plan ______________________________________________________________ 70
Taille du contrôle (Largeur, Hauteur) _____________________________________________________________ 70
Nom interne ________________________________________________________________________________ 70
Position et dimension _________________________________________________________________________ 70
Police _____________________________________________________________________________________ 71
Interagir avec l'utilisateur : la programmation événementielle _______________________________ 72
Principe de la programmation événementielle ______________________________________________________ 72
Gestionnaires d’événements ou écouteur _________________________________________________________ 72
Type d'événements __________________________________________________________________________ 72
Abonnement aux événements __________________________________________________________________ 72
Syntaxe des abonnements _____________________________________________________________________ 72
Quels événements pour quels contrôles ? _________________________________________________________ 73
Evénements liés à la fenêtre ___________________________________________________________________ 73
événements et abonnements ___________________________________________________________________ 76
Contrôles de type Timer ______________________________________________________________ 78
Utilisation de Windows Builder sous Eclipse. _______________________________________ 81
Création d’une Application avec WB ____________________________________________________ 81
Ajout d’une IHM dans l’application précédente ___________________________________________ 82
Enrichissement de la fenêtre __________________________________________________________ 83
Les applettes __________________________________________________________________ 85
Création ___________________________________________________________________________________ 85
Sécurité des applettes ________________________________________________________________________ 85
Les applications Java WebStart __________________________________________________ 87
Création d’une application Java WebStart ________________________________________________________ 87
Java et La programmation Multitaches _____________________________________________ 89
Les tâches (thread) __________________________________________________________________ 89
1 / 121 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 !