Vos recrutements informatiques

700 000 développeurs, chefs de projets, ingénieurs, informaticiens...

Contactez notre équipe spécialiste en recrutement

Developpez.com - Java
X

Choisissez d'abord la catégorieensuite la rubrique :

Apprentissage du langage Java

Date de publication : 08/05/08

Par Serge Tahé
 

Introduction
Ce document est un support de cours : ce n'est pas un cours complet. Des approfondissements nécessitent l'aide d'un enseignant.
L'étudiant y trouvera cependant une grande quantité d'informations lui permettant la plupart du temps de travailler seul. Ce document comporte probablement des erreurs : toute suggestion constructive est la bienvenue à l'adresse serge.tahe@istia.univangers.fr.
Il existe d'excellents livres sur Java. Parmi ceux-ci :
  • 1. Programmer en Java de Claude Delannoy aux éditions Eyrolles
  • 2. Java client-serveur de Cédric Nicolas, Christophe Avare, Frédéric Najman chez Eyrolles.
Le premier livre est un excellent ouvrage d'introduction pédagogique au langage Java. Une fois acquis son contenu, on pourra passer au second ouvrage qui présente des aspects plus avancés de Java (Java Beans, JDBC, Corba/Rmi). Il présente une vue industrielle de Java intéressante. Pour approfondir Java dans différents domaines, on pourra se référer à la collection "Java series" chez O'Reilly. Pour une utilisation professionnelle de Java au sein d'une plate-forme J2EE on pourra lire :
3. Programmation j2EE aux éditions Wrox et distribué par Eyrolles.
Les bases du langage Java
I. Les bases du langage Java
I-A. Introduction
I-B. Les données de Java
I-B-1. Les types de données prédéfinis
I-B-2. Notation des données littérales
I-B-3. Déclaration des données
I-B-3-a. Rôle des déclarations
I-B-3-b. Déclaration des constantes
I-B-3-c. Déclaration des variables
I-B-4. Les conversions entre nombres et chaînes de caractères
I-B-5. Les tableaux de données
I-C. Les instructions élémentaires de Java
I-C-1. Ecriture sur écran
I-C-2. Lecture de données tapées au clavier
I-C-3. Exemple d'entrées-sorties
I-C-4. Affectation de la valeur d'une expression à une variable
I-C-4-a. Interprétation de l'opération d'affectation
I-C-4-b. Expression arithmétique
I-C-4-c. Priorités dans l'évaluation des expressions arithmétiques
I-C-4-d. Expressions relationnelles
I-C-4-e. Expressions booléennes
I-C-4-f. Traitement de bits
I-C-4-g. Combinaison d'opérateurs
I-C-4-h. Opérateurs d'incrémentation et de décrémentation
I-C-4-i. L'opérateur ?
I-C-4-j. Priorité générale des opérateurs
I-C-4-k. Les changements de type
I-D. Les instructions de contrôle du déroulement du programme
I-D-1. Arrêt
I-D-2. Structure de choix simple
I-D-3. Structure de cas
I-D-4. Structure de répétition
I-D-4-a. Nombre de répétitions connu
I-D-4-b. Nombre de répétitions inconnu
I-E. La structure d'un programme Java
I-F. La gestion des exceptions
I-G. Compilation et exécution d'un programme Java
I-H. Arguments du programme principal
I-I. Passage de paramètres à une fonction
I-J. L'exemple impots
Classes et interfaces
II. Classes et interfaces
II-A. L' objet par l'exemple
II-A-1. Généralités
II-A-2. Définition de la classe personne
II-A-3. La méthode initialise
II-A-4. L'opérateur new
II-A-5. Le mot clé this
II-A-6. Un programme de test
II-A-7. Une autre méthode initialise
II-A-8. Constructeurs de la classe personne
II-A-9. Les références d'objets
II-A-10. Les objets temporaires
II-A-11. Méthodes de lecture et d'écriture des attributs privés
II-A-12. Les méthodes et attributs de classe
II-A-13. Passage d'un objet à une fonction
II-A-14. Encapsuler les paramètres de sortie d'une fonction dans un objet
II-A-15. Un tableau de personnes
II-B. L'héritage par l'exemple
II-B-1. Généralités
II-B-2. Construction d'un objet enseignant
II-B-3. Surcharge d'une méthode
II-B-4. Le polymorphisme
II-B-5. Surcharge et polymorphisme
II-C. Classes internes
II-D. Les interfaces
II-E. Classes anonymes
II-F. Les paquetages
II-F-1. Créer des classes dans un paquetage
II-F-2. Recherche des paquetages
II-G. L'exemple IMPOTS
Classes d'usage courant
III. Classes d'usage courant
III-A. La documentation
III-B. Les classes de test
III-C. La classe String
III-D. La classe Vector
III-E. La classe ArrayList
III-F. La classe Arrays
III-G. La classe Enumeration
III-H. La classe Hashtable
III-I. Les fichiers texte
III-I-1. Ecrire
III-I-2. Lire
III-I-3. Sauvegarde d'un objet personne
III-J. Les fichiers binaires
III-J-1. La classe RandomAccessFile
III-J-2. La classe article
III-J-3. Ecrire un enregistrement
III-J-4. Lire un enregistrement
III-J-5. Conversion texte --> binaire
III-J-6. Conversion binaire --> texte
III-J-7. Accès direct aux enregistrements
III-K. Utiliser les expression régulières
III-K-1. Le paquetage java.util.regex
III-K-2. Vérifier qu'une chaîne correspond à un modèle donné
III-K-3. Trouver tous les éléments d'une chaîne correspondant à un modèle
III-K-4. Récupérer des parties d'un modèle
III-K-5. Un programme d'apprentissage
III-K-6. La méthode split de la classe Pattern
III-L. Exercices
III-L-1. Exercice 1
III-L-2. Exercice 2
III-L-3. Exercice 3
III-L-4. Exercice 4
III-L-5. Exercice 5
Interfaces graphiques
IV. Interfaces graphiques
IV-A. Les bases des interfaces graphiques
IV-A-1. Une fenêtre simple
IV-A-2. Gérer un événement
IV-A-3. Un formulaire avec bouton
IV-A-4. Les gestionnaires d'événements
IV-A-5. Les méthodes des gestionnaires d'événements
IV-A-6. Les classes adaptateurs
IV-A-7. Conclusion
IV-B. Construire une interface graphique avec JBuilder
IV-B-1. Notre premier projet Jbuilder
IV-B-2. Les fichiers générés par Jbuilder pour une interface graphique
IV-B-2-a. La classe principale
IV-B-2-b. La classe de la fenêtre
IV-B-3. Dessiner une interface graphique
IV-B-3-a. Un exemple
IV-B-3-b. Le code de la classe de la fenêtre
IV-B-3-c. Conclusion
IV-B-4. Chercher de l'aide
IV-B-4-a. Aide : Sommaire
IV-B-4-b. Aide : Index
IV-B-5. Quelques composants swing
IV-B-5-a. composants JLabel et JTextField
IV-B-5-b. composant JComboBox
IV-B-5-c. composant JList
IV-B-5-d. Cases à cocher JCheckBox, boutons radio JButtonRadio
IV-B-5-e. composant JScrollBar
IV-B-5-f. composant JTextArea
IV-B-6. Événements souris
IV-B-7. Créer une fenêtre avec menu
IV-C. Boîtes de dialogue
IV-C-1. Boîtes de message
IV-C-2. Looks and Feels
IV-C-3. Boîtes de confirmation
IV-C-4. Boîte de saisie
IV-D. Boîtes de sélection
IV-D-1. Boîte de sélection JFileChooser
IV-D-2. Boîtes de sélection JColorChooser et JFontChooser
IV-E. L'application graphique IMPOTS
IV-F. Ecriture d'applets
IV-F-1. Introduction
IV-F-2. La classe JApplet
IV-F-2-a. Définition
IV-F-2-b. Exécution d'une applet : les méthodes init, start et stop
IV-F-3. Transformation d'une application graphique en applet
IV-F-4. L'option de mise en forme <applet> dans un document HTML
IV-F-5. Accéder à des ressources distantes depuis une applet
IV-F-5-a. La classe URL
IV-F-5-b. Un exemple console
IV-F-5-c. Un exemple graphique
IV-F-5-d. Une applet
IV-G. L'applet IMPOTS
IV-H. Conclusion
IV-I. Jbuilder sous Linux
Gestion des bases de données avec l'API JDBC
V. Gestion des bases de données avec l'API JDBC
V-A. Généralités
V-B. Les étapes importantes dans l'exploitation des bases de données
V-B-1. Introduction
V-B-2. L'étape de connexion
V-B-3. Émission de requêtes vers la base de données
V-B-3-a. La classe Statement
V-B-3-b. Émettre une requête d'interrogation de la base
V-B-3-c. La classe ResultSet : résultat d'une requête select
V-B-3-d. Un premier exemple
V-B-3-e. La classe ResultSetMetadata
V-B-3-f. Un deuxième exemple
V-B-3-g. Émettre une requête de mise à jour de la base de données
V-B-3-h. Un troisième exemple
V-B-3-i. Émettre une requête SQL quelconque
V-B-3-j. Quatrième exemple
V-C. IMPOTS avec une base de données
V-D. Exercices
V-D-1. Exercice 1
V-D-2. Exercice 2
V-D-3. Exercice 3
V-D-4. Exercice 4
Les Threads d'éxécution
VI. Les Threads d'exécution
VI-A. Introduction
VI-B. Création de threads d'exécution
VI-C. Intérêt des threads
VI-D. Une horloge graphique
VI-E. Applet horloge
VI-F. Synchronisation de tâches
VI-F-1. Un comptage non synchronisé
VI-F-2. Un comptage synchronisé par méthode
VI-F-3. Comptage synchronisé par un objet
VI-F-4. Synchronisation par événements
Programmation TCP-IP
VII. Programmation TCP-IP
VII-A. Généralités
VII-A-1. Les protocoles de l'Internet
VII-A-2. Le modèle OSI
VII-A-3. Le modèle TCP/IP
VII-A-4. Fonctionnement des protocoles de l'Internet
VII-A-5. Les problèmes d'adressage dans l'Internet
VII-A-5-a. Les classes d'adresses IP
VII-A-5-b. Les protocoles de conversion Adresse Internet <--> Adresse physique
VII-A-6. La couche réseau dite couche IP de l'internet
VII-A-6-a. Le routage
VII-A-6-b. Messages d'erreur et de contrôle
VII-A-7. La couche transport : les protocoles UDP et TCP
VII-A-7-a. Le protocole UDP : User Datagram Protocol
VII-A-7-b. Le protocole TCP : Transfer Control Protocol
VII-A-8. La couche Applications
VII-A-9. Conclusion
VII-B. Gestion des adresses réseau en Java
VII-B-1. Définition
VII-B-2. Quelques exemples
VII-B-2-a. Identifier la machine locale
VII-B-2-b. Identifier une machine quelconque
VII-C. Communications TCP-IP
VII-C-1. Généralités
VII-C-2. Les caractéristiques du protocole TCP
VII-C-3. La relation client-serveur
VII-C-4. Architecture d'un client
VII-C-5. Architecture d'un serveur
VII-C-6. La classe Socket
VII-C-6-a. Définition
VII-C-6-b. Ouverture d'une connexion avec une machine Serveur
VII-C-6-c. Envoyer des informations sur le réseau
VII-C-6-d. Lire des informations venant du réseau
VII-C-6-e. Fermeture de la connexion
VII-C-6-f. L'architecture du client
VII-C-7. La classe ServerSocket
VII-C-7-a. Définition
VII-C-7-b. Ouverture du service
VII-C-7-c. Acceptation d'une demande de connexion
VII-C-7-d. Lecture/Ecriture via la socket de service
VII-C-7-e. Identifier le client
VII-C-7-f. Fermer le service
VII-C-7-g. Architecture de base d'un serveur
VII-D. Applications
VII-D-1. Serveur d'écho
VII-D-2. Un client java pour le serveur d'écho
VII-D-3. Un client TCP générique
VII-D-4. Un serveur Tcp générique
VII-D-5. Un client Web
VII-D-6. Client Web gérant les redirections
VII-D-7. Serveur de calcul d'impôts
VII-E. Exercices
VII-E-1. Exercice 1 - Client TCP générique graphique
VII-E-1-a. Présentation de l'application
VII-E-1-b. FONCTIONNEMENT DE L'APPLICATION
VII-E-1-c. TRAVAIL A FAIRE
VII-E-2. Exercice 2 - Un serveur de ressources
VII-E-2-a. INTRODUCTION
VII-E-2-b. L'INTERFACE VISUELLE
VII-E-2-c. FONCTIONNEMENT DE L'APPLICATION
VII-E-2-d. TRAVAIL A FAIRE
VII-E-3. Exercice 3 - un client smtp
VII-E-3-a. INTRODUCTION
VII-E-3-b. L'INTERFACE VISUELLE
VII-E-3-c. LES MENUS
VII-E-3-d. FONCTIONNEMENT DE L'APPLICATION
VII-E-3-e. GESTION D'UN FICHIER DE CONFIGURATION
VII-E-3-f. TRAVAIL A FAIRE
VII-E-4. Exercice 4 - client POPPASS
VII-E-4-a. Introduction
VII-E-4-b. Le formulaire du client
VII-E-4-c. Les menus
VII-E-4-d. Fonctionnement de l'application
VII-E-4-e. TRAVAIL A FAIRE
JAVA RMI
VIII. JAVA RMI
VIII-A. Introduction
VIII-B. Apprenons par l'exemple
VIII-B-1. L'application serveur
VIII-B-1-a. Étape 1 : l'interface de l'objet/serveur
VIII-B-1-b. Étape 2 : écriture de l'objet serveur
VIII-B-1-c. Étape 3 : compilation de l'application serveur
VIII-B-1-d. Étape 4 : écriture du client
VIII-B-1-e. génération des fichiers .class nécessaires à l'application client-serveur
VIII-B-1-f. Étape 6 : Exécution de l'application client-serveur d'écho
VIII-B-1-g. Le client et le serveur sur deux machines différentes
VIII-B-1-h. Résumé
VIII-B-1-i. Serveur d'écho sur linux, clients sur Windows et Linux
VIII-C. Deuxième exemple : Serveur SQL sur machine Windows
VIII-C-1. Le problème
VIII-C-2. Étape 1 : l'interface distante
VIII-C-3. Étape 2 : Écriture du serveur
VIII-C-4. Écriture du client RMI
VIII-C-5. Étape 3 : création des fichiers .class
VIII-C-6. Étape 4 : Tests avec serveur & client sur même machine windows
VIII-C-7. Étape 5 : Tests avec serveur sur machine windows et client sur machine
VIII-C-8. Conclusion
VIII-D. Exercices
VIII-D-1. Exercice 1
VIII-D-2. Exercice 2
Construction d'application distribuées CORBA
IX. Construction d'applications distribuées CORBA
IX-A. Introduction
IX-B. Processus de développement d'une application CORBA
IX-B-1. Introduction
IX-B-2. Écriture de l'interface du serveur
IX-B-3. Compilation de l'interface IDL du serveur
IX-B-4. Compilation des classes générées à partir de l'interface IDL
IX-B-5. Écriture du serveur
IX-B-5-a. Implémentation de l'interface iSrvEcho
IX-B-5-b. Écriture de la classe de création du serveur
IX-B-5-b-i. Les paramètres du serveur
IX-B-5-b-ii. Créer l'objet d'accès au service d'annuaire CORBA
IX-B-5-b-iii. Enregistrer le serveur dans l'annuaire des services CORBA
IX-B-5-c. Compilation de la classe de lancement serveur
IX-B-6. Écriture du client
IX-B-6-a. Le code
IX-B-6-b. La connexion du client au serveur
IX-B-6-c. Compilation
IX-B-7. Tests
IX-B-7-a. Lancement du service d'annuaire
IX-B-7-b. Lancement du serveur d'écho
IX-B-7-c. Lancement du client sur le même poste que celui du serveur
IX-B-7-d. Lancement du client sur poste Windows autre que celui du serveur
IX-C. Exemple 2 : un serveur SQL
IX-C-1. Introduction
IX-C-2. Écriture de l'interface IDL du serveur
IX-C-3. Compilation de l'interface IDL du serveur
IX-C-4. Écriture du serveur SQL
IX-C-5. Écriture du programme de lancement du serveur SQL
IX-C-6. Écriture du client
IX-C-7. Tests
IX-C-7-a. Pré-requis
IX-C-7-b. Lancement du service d'annuaire
IX-C-7-c. Lancement du serveur SQL
IX-C-7-d. Lancement d'un client sur la même machine que le serveur
IX-C-7-e. Lancement d'un client sur une autre machine que celle du serveur
IX-D. Correspondances IDL - JAVA


Valid XHTML 1.1!Valid CSS!

Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -