You are on page 1of 7

Cours d'introduction Java : programmation

?
?
?
?
?
?
?
?
?
?

1 Le concept Java
2 Notion d'objets
3 Structures de donnes
4 instructions de base
5 Controle du flot de donnes
6 Bibliothques de classes et scurit
7 applications et applets
8 Exercices pratiques
9 Par del cette introduction
10 Rfrences utiles

Cette page propose une introductions la programmation en Java.


Elle a pour vocation de prsenter les lments remarquables du
langages et propose pour chacun de ceux-ci des rfrences
bibliographiques consulter (des exemplaires des livres cits se
trouvent dans le bureau D334) ainsi que des liens vers des exemples
ou plus gnralement des sources d'informations hypertextuelles.
Cette page reste evidemment sommaire et reste sujette des
modifications en fonctions de vos besoins et dse commentaires que
vous nous ferez.
Pour trouver des informations utiles sur l'intallation de Java, cliquer
ici.
1 Le concept Java :
Java est un langage invent par les dveloppeurs de Sun. Si les bases
de ce langage ont t concues en 1990, Java reste encore
aujourd'hui dans une phase de dveloppement.

Selon les dveloppeurs de Sun, Java (qui signifie caf en argot


amricain) est un langage : simple, orient-objet, distribu,
interprt, robuste scuris, neutre vis vis de l'architecture,
portable, haute performance, multi-threaded et dynamique. Mis
part l'aspect de haute performance qui est TRES loin d'etre vrifi,
Java dispose bien des fonction numres.
Comment ca fonctionne en gros ?
Le programmeur crit un code qui est transform par le compilateur
Java en une srie d'instructions qui ressemble du langage machine
(pseudo-code) mais que la machine est incapable d'excuter. On
fournit ce pseudo-code un programme spcial (un interprteur) qui
xcute l'une aprs l'autre les instructions du pseudo-code.
L'interprteur peut tre un navigateur Web (comme Netscape
Navigator) ou un programme indpendant plus ou moins cach dans le
systme d'exploitation de l'ordinateur. Le pseudo-code utilise la
mmoire de la machine, mais un mcanisme (le ramasse-miettes)
rcupre la mmoire ds que possible ce qui permet ainsi d'autres
programmes de tourner. Le pseudo-code peut faire appel des
bibliothques de classes qui sont tout simplement des programmes
crits par d'autres programmeurs. Ces bibliothques de classes
permettent au programmeur d'viter d'avoir rcrire sans cesse
des fonctionnalits classique. Par exemple, les bibliothques de
classes contiennent des classes permettant de dessiner un bouton,
d'ouvrir une connexion avec le rseau, de jouer de la musique... Ces
bibliothques de classes ne se trouvent pas forcement sur la machine
o s'execute le pseudo-code. L'interprteur va alors les chercher o
il faut sur le rseau. En fait, vous avez peut tre dja utilis Java
sans mme le savoir, simplement en allant surfer sur le Web. Les
programmes excuts par les navigateurs sont appels applets
contrairement aux programmes autonomes appels comme il se doit
applications.
2 Notion d'objets :

Java est un langage orient objet. Cela signifie qu'il ralise un


ensemble de concepts lui permettant de dpasser le cadre du simple
langage de programmation strutur (Pascal, C...). En particulier, Java
intgre les notions (voir Linden, pp. 35-65) :
? d'abstraction par des classes
? de polymorphisme (surcharge d'une mthode et surclassage d'une
mthode de la classe suprieure)
? d'encapsulation (: c'est dire qu'il existe des regles pour dcider
quels sont les objets qui peuvent tre appels par un autre objet)
? d'hritage simple
3 Structures de donnes :
Il existe en Java des types de donnes. On peut schmatiquement
diviser ces types en types simples (entier, double, boolen...) et en
types structurs (c'est dire des tableaux ou toute structure qui
combine l'utilisation de plusieurs types simples).
4 instructions de base :
De plus, Java, par sa vocation oriente objet, introduit un ensemble
de d'instructions essentielles permettant :
? la dfinition de classes
? la dfintion de mthodes
? la dfinition d'un constructeur (et destructeur) d'une instance de
classe
? l'appel d'une mthode
? l'appel d'une instance de classe
Par ailleurs, Java propose un ensemble de mcanismes pratiques
(repris du langage C) permettant :
? la notation de commentaires
? la notation d'oprateurs et de sparateurs pour les expressions
5 Controle du flot de donnes :

Java prsente un jeu d'instruction standard issu des langages


actionnels (par opposition aux langages fonctionnels comme LISP) et
permettant de controler le flot des donnes (c'est dire la manire
de rpartir les traitements d'informations au sein d'un programme.
En particulier, Java permet d'utiliser :
? des branchements conditionnels
? des boucles
? des labels
6 Bibliothques de classes et scurit :
Java propose une hierarchie de classes comme autant de niveaux
d'abstractions sur des objets. Les developpeurs de Java ont concu un
grand nombre de classes pretes l'emploi evitant au programmeur
d'avoir rcrire des fonctions classiques pour la nime fois. Ces
classes constituent ce que l'on appelle une bibliothque de classes.
Elles sont prvues de manire ce que le programmeur puisse insrer
ses classes comme spcifications des classes existantes dans la
bibliothque. Les mcanismes d'interfaces et de classe abstraite
sont particulirements utiles cet gard. Un mcanisme de scurit
complet (et complexe) permet en outre de garantir la protection du
code produit par chaque programmeur fiabilisant ainsi
l'environnement tout en empechant les mauvaises intentions
(utilisation de code priv, distribution de code potentiellement
dangereux...).
En rsum, Java propose :
? des classes hierarchises
? des interfaces et des classes abstraites
? des mcanismes de scurit
7 applications et applets :
Java peut tre employ dans deux objectifs diffrents :

? Soit pour produire des applications classiques (standalone)


fonctionnant comme n'importe quel logiciel classique de votre
ordinateur.
? Soit pour construire des applications distribues (applets)
fonctionnant travers le Web et interfaces par un navigateur grce
l'emploi judicieux de code HTML.
Nous prsentons ci-dessous le mme programme (repris par exemple
de Ritchey, pp. 111-124) crit soit sous la forme d'application soit
sous la forme d'applet :
? Hello world format application (section "getting started")
? Hello World format applet (section "getting started") (et code
pour l'appel depuis un fichier HTML)
Pour les applets en gnral, voir aussi Macary & al., pp 195-202.
8 Exercices pratiques :
Java est un langage complet permettant d'cire n'importe quel
programme. En particulier, Java peut permettre d'effectuer des
tches de calculs, des tches graphiques, de gnrer du VRML...
Au cours des semaines et des mois venir, des exemples seront
accessibles partir d'ici. Pour l'instant toutefois, il existe peu de
programmes interessants crits en Java, il faudra donc attendre un
peu.
9 Par del cette introduction :
Pour une sance suivante, il reste voir :
? la gestion des erreurs (les exceptions) (voir Macary & al., pp. 177194)
? les bibliothques de classes (suite) : les graphiques
Pour une sance encore plus lointaine :

? l'utilisation du parallelisme (le multi-threading) (voir Macary & al.,


pp. 149-176)
? les bibliothques de classes (fin) : les entres sorties et le rseau
10 Rfrences utiles :
? Tutoriel Java (repris de chez Sun) disponible localement.
? Bishop, J. (1998). Java Gently, Second Edition, Addison-Wesley,
Essex, England.
Excellent ouvrage pour les dbutants, il vous fait progresser exemple
par exemple non seulement la dcouverte du langage Java mais
aussi la dcouverte des concepts de la programmation riente
objet.
? Flanagan, D. (1997). Java in a Nutshell, Second Edition, O'Reilly &
Associates, Sebastopol, CA.
Un ouvrage de rfrence pour programmeurs chevronns. Les
descriptions sont succintes et destines essentiellement des
adeptes du langage C qui tentent une reconversion Java. La
description de la bibliothques de classes est un modle du genre. Le
livre n'en est pas moins complet par ailleurs.
? Flanagan, D. (1997). Java Examples in a Nutshell, O'Reilly &
Associates, Sebastopol, CA.
Ce livre est annonc comme le compagnon de Java in a Nutshell.
Effectivement, il est difficile d'acheter l'un sans l'autre puisque il
n'y a aucun exemple dans Java in a Nutshell. Au contraire, dans celuici, tous les aspects de Java sont passs en revue par des exemples,
de l'interface graphique aux rseaux en passant par les bases de
donnes.
? Macary, J-F. et Nicolas, C. (1996). Programmation Java, Eyrolles,
Paris.

Intressant pour son aspect simple et pour son approche comparative


par rapport au langage C. Recommand pour des dbutants, des
explications et l'emploi de sources d'informations complmentaires
restent ncessaires. Probablement parteillement obsolte.
? Ritchey, T. (1995). Java!, New Riders Publishing, Indianapolis, IN.
Cet ouvrage propose une dcouverte trs progressive de Java, des
outils associs et des environnements. Toutefois, malgr la quantit
impressionnante des explications fournies pour chaque nouveau
concept introduit, ce livre reste d'un contenu assez pauvre. Par
ailleurs, ce livre est obsolete.
? Van der Linden, P. (1996). Just Java, Sun Microsystems, Mountain
View, CA.
Produit par la firme qui a dveloppe Java, ce livre est
malheureusement trs incomplet.
(aller au Tutoriel JAVA-VRML)
S.M.M.

You might also like