1. LES BASES DU LANGAGE JAVA
1.1 INTRODUCTION
1.2 LES DONNEES DE JAVA
1.2.1 LES TYPES DE DONNEES PREDEFINIS
1.2.2 NOTATION DES DONNEES LITTERALES
1.2.3 DECLARATION DES DONNEES
1.2.4 LES CONVERSIONS ENTRE NOMBRES ET CHAINES DE CARACTERES
1.2.5 LES TABLEAUX DE DONNEES
1.3 LES INSTRUCTIONS ELEMENTAIRES DE JAVA
1.3.1 ECRITURE SUR ECRAN
1.3.2 LECTURE DE DONNEES TAPEES AU CLAVIER
1.3.3 EXEMPLE D’ENTREES-SORTIES
1.3.4 AFFECTATION DE LA VALEUR D’UNE EXPRESSION A UNE VARIABLE
1.4 LES INSTRUCTIONS DE CONTROLE DU DEROULEMENT DU PROGRAMME
1.4.1 ARRET
1.4.2 STRUCTURE DE CHOIX SIMPLE
1.4.3 STRUCTURE DE CAS
1.4.4 STRUCTURE DE REPETITION
1.5 LA STRUCTURE D’UN PROGRAMME JAVA
1.6 LA GESTION DES EXCEPTIONS
1.7 COMPILATION ET EXECUTION D’UN PROGRAMME JAVA
1.8 ARGUMENTS DU PROGRAMME PRINCIPAL
1.9 PASSAGE DE PARAMETRES A UNE FONCTION
1.10 L’EXEMPLE IMPOTS
2. CLASSES ET INTERFACES
2.1 L’ OBJET PAR L’EXEMPLE
2.1.1 GENERALITES
2.1.2 DEFINITION DE LA CLASSE PERSONNE
2.1.3 LA METHODE INITIALISE
2.1.4 L’OPERATEUR NEW
2.1.5 LE MOT CLE THIS
2.1.6 UN PROGRAMME DE TEST
2.1.7 UNE AUTRE METHODE INITIALISE
2.1.8 CONSTRUCTEURS DE LA CLASSE PERSONNE
2.1.9 LES REFERENCES D’OBJETS
2.1.10 LES OBJETS TEMPORAIRES
2.1.11 METHODES DE LECTURE ET D’ECRITURE DES ATTRIBUTS PRIVES
2.1.12 LES METHODES ET ATTRIBUTS DE CLASSE
2.1.13 PASSAGE D’UN OBJET A UNE FONCTION
2.1.14 ENCAPSULER LES PARAMETRES DE SORTIE D’UNE FONCTION DANS UN OBJET
2.1.15 UN TABLEAU DE PERSONNES
2.2 L’HERITAGE PAR L’EXEMPLE
2.2.1 GENERALITES
2.2.2 CONSTRUCTION D’UN OBJET ENSEIGNANT
2.2.3 SURCHARGE D’UNE METHODE
2.2.4 LE POLYMORPHISME
2.2.5 SURCHARGE ET POLYMORPHISME
2.3 CLASSES INTERNES
2.4 LES INTERFACES
2.5 CLASSES ANONYMES
2.6 LES PAQUETAGES
2.6.1 CREER DES CLASSES DANS UN PAQUETAGE
2.6.2 RECHERCHE DES PAQUETAGES
2.7 L’EXEMPLE IMPOTS
3. CLASSES D’USAGE COURANT
3.1 LA DOCUMENTATION
3.2 LES CLASSES DE TEST
3.3 LA CLASSE STRING
3.4 LA CLASSE VECTOR
3.5 LA CLASSE ARRAYLIST
3.6 LA CLASSE ARRAYS
3.7 LA CLASSE ENUMERATION
3.8 LA CLASSE HASHTABLE
3.9 LES FICHIERS TEXTE
3.9.1 ECRIRE
3.9.2 LIRE
3.9.3 SAUVEGARDE D’UN OBJET PERSONNE
3.10 LES FICHIERS BINAIRES
3.10.1 LA CLASSE RANDOMACCESSFILE
3.10.2 LA CLASSE ARTICLE
3.10.3 ECRIRE UN ENREGISTREMENT
3.10.4 LIRE UN ENREGISTREMENT
3.10.5 CONVERSION TEXTE –> BINAIRE
3.10.6 CONVERSION BINAIRE –> TEXTE
3.10.7 ACCES DIRECT AUX ENREGISTREMENTS
3.11 UTILISER LES EXPRESSION REGULIERES
3.11.1 LE PAQUETAGE JAVA.UTIL.REGEX
3.11.2 VERIFIER QU’UNE CHAINE CORRESPOND A UN MODELE DONNE
3.11.3 TROUVER TOUS LES ELEMENTS D’UNE CHAINE CORRESPONDANT A UN MODELE
3.11.4 RECUPERER DES PARTIES D’UN MODELE
3.11.5 UN PROGRAMME D’APPRENTISSAGE
3.11.6 LA METHODE SPLIT DE LA CLASSE PATTERN
3.12 EXERCICES
3.12.1 EXERCICE 1
3.12.2 EXERCICE 2
3.12.3 EXERCICE 3
3.12.4 EXERCICE 4
3.12.5 EXERCICE 5
4. INTERFACES GRAPHIQUES
4.1 LES BASES DES INTERFACES GRAPHIQUES
4.1.1 UNE FENETRE SIMPLE
4.1.2 GERER UN EVENEMENT
4.1.3 UN FORMULAIRE AVEC BOUTON
4.1.4 LES GESTIONNAIRES D’EVENEMENTS
4.1.5 LES METHODES DES GESTIONNAIRES D’EVENEMENTS
4.1.6 LES CLASSES ADAPTATEURS
4.1.7 CONCLUSION
4.2 CONSTRUIRE UNE INTERFACE GRAPHIQUE AVEC JBUILDER
4.2.1 NOTRE PREMIER PROJET JBUILDER
4.2.2 LES FICHIERS GENERES PAR JBUILDER POUR UNE INTERFACE GRAPHIQUE
4.2.3 DESSINER UNE INTERFACE GRAPHIQUE
4.2.4 CHERCHER DE L’AIDE
4.2.5 QUELQUES COMPOSANTS SWING
4.2.6 ÉVENEMENTS SOURIS
4.2.7 CREER UNE FENETRE AVEC MENU
4.3 BOITES DE DIALOGUE
4.3.1 BOITES DE MESSAGE
4.3.2 LOOKS AND FEELS
4.3.3 BOITES DE CONFIRMATION
4.3.4 BOITE DE SAISIE
4.4 BOITES DE SELECTION
4.4.1 BOITE DE SELECTION JFILECHOOSER
4.4.2 BOITES DE SELECTION JCOLORCHOOSER ET JFONTCHOOSER
4.5 L’APPLICATION GRAPHIQUE IMPOTS
4.6 ECRITURE D’APPLETS
4.6.1 INTRODUCTION
4.6.2 LA CLASSE JAPPLET
4.6.3 TRANSFORMATION D’UNE APPLICATION GRAPHIQUE EN APPLET
4.6.4 L’OPTION DE MISE EN FORME <APPLET> DANS UN DOCUMENT HTML
4.6.5 ACCEDER A DES RESSOURCES DISTANTES DEPUIS UNE APPLET
4.7 L’APPLET IMPOTS
4.8 CONCLUSION
4.9 JBUILDER SOUS LINUX
5. GESTION DES BASES DE DONNEES AVEC L’API JDBC
5.1 GENERALITES
5.2 LES ETAPES IMPORTANTES DANS L’EXPLOITATION DES BASES DE DONNEES
5.2.1 INTRODUCTION
5.2.2 L’ETAPE DE CONNEXION
5.2.3 ÉMISSION DE REQUETES VERS LA BASE DE DONNEES
5.3 IMPOTS AVEC UNE BASE DE DONNEES
5.4 EXERCICES
5.4.1 EXERCICE 1
5.4.2 EXERCICE 2
5.4.3 EXERCICE 3
5.4.4 EXERCICE 4
6. LES THREADS D’EXECUTION
6.1 INTRODUCTION
6.2 CREATION DE THREADS D’EXECUTION
6.3 INTERET DES THREADS
6.4 UNE HORLOGE GRAPHIQUE
6.5 APPLET HORLOGE
6.6 SYNCHRONISATION DE TACHES
6.6.1 UN COMPTAGE NON SYNCHRONISE
6.6.2 UN COMPTAGE SYNCHRONISE PAR METHODE
6.6.3 COMPTAGE SYNCHRONISE PAR UN OBJET
6.6.4 SYNCHRONISATION PAR EVENEMENTS
7. PROGRAMMATION TCP-IP
7.1 GENERALITES
7.1.1 LES PROTOCOLES DE L’INTERNET
7.1.2 LE MODELE OSI
7.1.3 LE MODELE TCP/IP
7.1.4 FONCTIONNEMENT DES PROTOCOLES DE L’INTERNET
7.1.5 LES PROBLEMES D’ADRESSAGE DANS L’INTERNET
7.1.6 LA COUCHE RESEAU DITE COUCHE IP DE L’INTERNET
7.1.7 LA COUCHE TRANSPORT : LES PROTOCOLES UDP ET TCP
7.1.8 LA COUCHE APPLICATIONS
7.1.9 CONCLUSION
7.2 GESTION DES ADRESSES RESEAU EN JAVA
7.2.1 DEFINITION
7.2.2 QUELQUES EXEMPLES
7.3 COMMUNICATIONS TCP-IP
7.3.1 GENERALITES
7.3.2 LES CARACTERISTIQUES DU PROTOCOLE TCP
7.3.3 LA RELATION CLIENT-SERVEUR
7.3.4 ARCHITECTURE D’UN CLIENT
7.3.5 ARCHITECTURE D’UN SERVEUR
7.3.6 LA CLASSE SOCKET
7.3.7 LA CLASSE SERVERSOCKET
7.4 APPLICATIONS
7.4.1 SERVEUR D’ECHO
7.4.2 UN CLIENT JAVA POUR LE SERVEUR D’ECHO
7.4.3 UN CLIENT TCP GENERIQUE
7.4.4 UN SERVEUR TCP GENERIQUE
7.4.5 UN CLIENT WEB
7.4.6 CLIENT WEB GERANT LES REDIRECTIONS
7.4.7 SERVEUR DE CALCUL D’IMPOTS
7.5 EXERCICES
7.5.1 EXERCICE 1 – CLIENT TCP GENERIQUE GRAPHIQUE
7.5.2 EXERCICE 2 – UN SERVEUR DE RESSOURCES
7.5.3 EXERCICE 3 – UN CLIENT SMTP
7.5.4 EXERCICE 4 – CLIENT POPPASS
8. JAVA RMI
8.1 INTRODUCTION
8.2 APPRENONS PAR L’EXEMPLE
8.2.1 L’APPLICATION SERVEUR
8.3 DEUXIEME EXEMPLE : SERVEUR SQL SUR MACHINE WINDOWS
8.3.1 LE PROBLEME
8.3.2 ÉTAPE 1 : L’INTERFACE DISTANTE
8.3.3 ÉTAPE 2 : ÉCRITURE DU SERVEUR
8.3.4 ÉCRITURE DU CLIENT RMI
8.3.5 ÉTAPE 3 : CREATION DES FICHIERS .CLASS
8.3.6 ÉTAPE 4 : TESTS AVEC SERVEUR & CLIENT SUR MEME MACHINE WINDOWS
8.3.7 ÉTAPE 5 : TESTS AVEC SERVEUR SUR MACHINE WINDOWS ET CLIENT SUR MACHINE LINUX
8.3.8 CONCLUSION
8.4 EXERCICES
8.4.1 EXERCICE 1
8.4.2 EXERCICE 2
9. CONSTRUCTION D’APPLICATIONS DISTRIBUEES CORBA
9.1 INTRODUCTION
9.2 PROCESSUS DE DEVELOPPEMENT D’UNE APPLICATION CORBA
9.2.1 INTRODUCTION
9.2.2 ÉCRITURE DE L’INTERFACE DU SERVEUR
9.2.3 COMPILATION DE L’INTERFACE IDL DU SERVEUR
9.2.4 COMPILATION DES CLASSES GENEREES A PARTIR DE L’INTERFACE IDL
9.2.5 ÉCRITURE DU SERVEUR
9.2.6 ÉCRITURE DU CLIENT
9.2.7 TESTS
9.3 EXEMPLE 2 : UN SERVEUR SQL
9.3.1 INTRODUCTION
9.3.2 ÉCRITURE DE L’INTERFACE IDL DU SERVEUR
9.3.3 COMPILATION DE L’INTERFACE IDL DU SERVEUR
9.3.4 ÉCRITURE DU SERVEUR SQL
9.3.5 ÉCRITURE DU PROGRAMME DE LANCEMENT DU SERVEUR SQL
9.3.6 ÉCRITURE DU CLIENT
9.3.7 TESTS
9.4 CORRESPONDANCES IDL – JAVA
1. Les bases du langage Java
1.1 Introduction
Nous traitons Java d’abord comme un langage de programmation classique. Nous aborderons les objets ultérieurement.
Dans un programme on trouve deux choses
– des données
– les instructions qui les manipulent
On s’efforce généralement de séparer les données des instructions
1.2 Les données de Java
Java utilise les types de données suivants:
• les nombres entiers
• les nombres réels
• les caractères et chaînes de caractères
• les booléens
• les objets
1.2.1 Les types de données prédéfinis
Type Codage Domaine
char 2 octets caractère Unicode
String référence d’objet chaîne de caractères
Date référence d’objet date
Character référence d’objet char
Integer référence d’objet int
Long référence d’objet long
Byte référence d’objet byte
Float référence d’objet float
Double référence d’objet double
Boolean référence d’objet boolean
1.2.2 Notation des données littérales
entier 145, -7, 0xFF (hexadécimal)
réel double 134.789, -45E-18 (-45 10-18)
réel float 134.789F, -45E-18F(-45 10-18)
caractère ‘A’, ‘b’ chaîne de caractères « aujourd’hui »
booléen true, false
date new Date(13,10,1954) (jour, mois, an)
1.2.3 Déclaration des données
1.2.3.1 Rôle des déclarations
Un programme manipule des données caractérisées par un nom et un type. Ces données sont stockées en mémoire. Au moment de la traduction du programme, le compilateur affecte à chaque donnée un emplacement en mémoire caractérisé par une adresse et une taille. Il le fait en s’aidant des déclarations faites par le programmeur.
Par ailleurs celles-ci permettent au compilateur de détecter des erreurs de programmation. Ainsi l’opération x=x*2; sera déclarée erronée si x est une chaîne de caractères par exemple.
1.2.3.2 Déclaration des constantes
La syntaxe de déclaration d’une constante est la suivante :
finaltype nom=valeur; //définit constante nom=valeur
ex : final float PI=3.141592F;
Remarque
Pourquoi déclarer des constantes ?
1. La lecture du programme sera plus aisée si l’on a donné à la constante un nom significatif :
ex : final float taux_tva=0.186F;
2. La modification du programme sera plus aisée si la « constante » vient à changer. Ainsi dans le cas précédent, si le taux de tva passe à 33%, la seule modification à faire sera de modifier l’instruction définissant sa valeur :
final float taux_tva=0.33F;
Si l’on avait utilisé 0.186 explicitement dans le programme, ce serait alors de nombreuses instructions qu’il faudrait modifier.
1.2.3.3 Déclaration des variables
Une variable est identifiée par un nom et se rapporte à un type de données. Le nom d’une variable Java a n caractères, le premier alphabétique, les autres alphabétiques ou numériques. Java fait la différence entre majuscules et minuscules. Ainsi les variables FIN et finsont différentes.
Les variables peuvent être initialisées lors de leur déclaration. La syntaxe de déclaration d’une ou plusieurs variables est :
identificateur_de_type variable1,variable2,…,variablen; où identificateur_de_typeest un type prédéfini ou bien un type objet défini par le programmeur.
Apprentissage du langage Java (3421 KO) (Cours PDF)