Vue générale Hello World HelloWorld en détail Résumé global
Introduction
Cours Java - F. Michel
1 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Plan
1 Vue générale
La technologie Java
Le langage Java
La machine virtuelle Java
Résumé
2 Hello World
Prérequis
Premier programme : 3 étapes
Résumé
3 HelloWorld en détail
Les commentaires
Définition d’une classe
La méthode main
Le code
Résumé
Cours Java - F. Michel
2 / 25
Vue générale Hello World HelloWorld en détail Résumé global
La technologie Java
Origine
Sun microsystems, ≈ 1995 Java sur Wikipédia
“Java”, c’est à la fois :
un langage de programmation orienté objet
une plate-forme : un environnement pour l’exécution et le
développement des programmes Java :
une machine virtuelle : la JVM (Java Virtual Machine)
des APIs (Application Programming Interfaces)
...
Cours Java - F. Michel
4 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Le langage Java
Principales caractéristiques
Simple, Object Oriented, and Familiar
Robust and Secure
Architecture Neutral and Portable (JVM)
High Performance
Interpreted, Threaded, and Dynamic
Design Goals of the Java Programming language
Cours Java - F. Michel
5 / 25
Vue générale Hello World HelloWorld en détail Résumé global
La plate-forme Java
Les implémentations de la plate-forme Java possèdent :
Development Tools : javac , java, javadoc, . . .
Application Programming Interface (API)
Deployment Technologies
User Interface Toolkits : JavaFX, Swing, . . .
Integration Libraries, API spécialisées : JDBC, JNDI, IDL, . . .
Cours Java - F. Michel
6 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Le langage Java
Cours Java - F. Michel
7 / 25
Vue générale Hello World HelloWorld en détail Résumé global
La machine virtuelle Java - JVM
“Write once, run anywhere”
Cours Java - F. Michel
8 / 25
Vue générale Hello World HelloWorld en détail Résumé global
API : Application Programming Interface
L’API Java est formée par une collection de composants
logiciels fournissant de nombreuses fonctionnalités (> 4000
classes)
Cours Java - F. Michel
9 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Pour résumer
Cours Java - F. Michel
10 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Prérequis
Pour pouvoir écrire un programme Java il faut au moins :
The Java SE Development Kit : 8 (1.8) ou 11 / 17 (LTS)
Oracle : téléchargement / par dépôt ppa
OpenJDK : [Link]/
un éditeur de texte
Remarque : Un plugin Java pour navigateur ne suffit pas : il ne
contient que le JRE (Java Runtime Environment)
Cours Java - F. Michel
12 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Premier programme : 3 étapes
1. Codage
Création du fichier source [Link]
2. Compilation
Compilation du fichier source [Link] en
[Link]
3. Exécution
Utilisation de la JVM locale pour exécuter le fichier
[Link]
Cours Java - F. Michel
13 / 25
Vue générale Hello World HelloWorld en détail Résumé global
1. Codage du fichier source
[Link]
Par exemple dans /home/joe/ :
[Link]
/* *
* The HelloWorldApp c l a s s implements an a p p l i c a t i o n t h a t
* s i m p l y p r i n t s " H e l l o World ! " t o s t a n d a r d o u t p u t .
*/
p u b l i c c l a s s HelloWorldApp {
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] args ) {
System . o u t . p r i n t l n ( " H e l l o World ! " ) ; / / D i s p l a y t h e s t r i n g .
}
}
Java fait la différence majuscule/minuscules
HelloWorldApp 6= helloworldapp
Cours Java - F. Michel
14 / 25
Vue générale Hello World HelloWorld en détail Résumé global
2. Compilation du fichier source en
[Link]
Dans /home/joe/, utilisation du programme javac (java
compiler) :
Dans un terminal
jo e@i ut : ~ $ j a v a c HelloWorldApp . j a v a
jo e@i ut : ~ $ l s
HelloWorldApp . c l a s s HelloWorldApp . j a v a
jo e@i ut : ~ $
le programme javac doit être dans le PATH de l’OS !
il est aussi bien sûr possible de taper le chemin complet :
/ u s r / l i b / jvm / java −11− o r a c l e / b i n / j a v a c HelloWorldApp . j a v a
Cours Java - F. Michel
15 / 25
Vue générale Hello World HelloWorld en détail Résumé global
2. Compilation du fichier source en
[Link]
Pour inclure javac dans le path de l’OS au démarrage, il faut
modifier la variable d’environnement PATH pour y inclure le
répertoire où se trouve javac :
Linux (ajouter dans le fichier /.bashrc)
PATH=$PATH : JDKInstalDirectory/bin
export PATH
(sous Debian/Ubuntu : page Java )
Windows
propriétés du poste de travail → avancé → variables
d’environnement (nouveau)
PATH= blabla ; c :\JDKInstalDirectory \bin
Cours Java - F. Michel
16 / 25
Vue générale Hello World HelloWorld en détail Résumé global
3. Exécution de [Link] dans la
JVM
Dans /home/joe/, le programme java lance la JVM sur le fichier
.class passé en paramètre (sans l’extension .class) :
Dans un terminal
joe@i ut : ~ $ j a v a HelloWorldApp
H e l l o World !
joe@i ut : ~ $
le programme java doit lui aussi être dans le PATH de l’OS !
sinon. . .
/ u s r / l i b / jvm / java −11− j d k / b i n / j a v a HelloWorldApp
Cours Java - F. Michel
17 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Pour résumer
Cours Java - F. Michel
18 / 25
Vue générale Hello World HelloWorld en détail Résumé global
[Link] en détail
Les commentaires
/* *
* The HelloWorldApp c l a s s implements an a p p l i c a t i o n t h a t
* s i m p l y p r i n t s " H e l l o World ! " t o s t a n d a r d o u t p u t .
*/
Les 3 types de commentaires en Java :
/* text */
/ * * documentation * /
/ / text
Cours Java - F. Michel
20 / 25
Vue générale Hello World HelloWorld en détail Résumé global
[Link] en détail
La définition de la classe HelloWorldApp
p u b l i c c l a s s HelloWorldApp {
/ / code de l a c l a s s e
}
la défintion d’une classe s’effectue avec le mot clé class.
le mot clé public définit la visiblité de la classe.
Cours Java - F. Michel
21 / 25
Vue générale Hello World HelloWorld en détail Résumé global
[Link] en détail
La méthode statique main
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] args ) {
System . o u t . p r i n t l n ( " H e l l o World ! " ) ; / / D i s p l a y t h e s t r i n g .
}
le mot clé public définit la visiblité de la méthode.
le mot clé static signifie que main est une méthode de classe.
Une application Java doit contenir au moins une méthode
main
C’est cette méthode qui est exécutée par la JVM
Si elle n’est pas présente :
joe@i ut : ~ $ j a v a HelloWorldApp
E x c e p t i o n i n t h r e a d " main " j a v a . l a n g . NoSuchMethodError : main
joe@i ut : ~ $
Cours Java - F. Michel
22 / 25
Vue générale Hello World HelloWorld en détail Résumé global
[Link] en détail
Le code
System . o u t . p r i n t l n ( " H e l l o World ! " ) ; / / Display the s t r i n g .
Utilisation de la classe System inclue dans l’API standard pour
l’affichage.
Cours Java - F. Michel
23 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Pour résumer
Il faut au moins définir une classe.
La méthode main est le point d’entrée du programme.
l’API fournit en standard de très nombreuses fonctionnalités.
[Link]
/* *
* The HelloWorldApp c l a s s implements an a p p l i c a t i o n t h a t
* s i m p l y p r i n t s " H e l l o World ! " t o s t a n d a r d o u t p u t .
*/
p u b l i c c l a s s HelloWorldApp {
p u b l i c s t a t i c v o i d main ( S t r i n g [ ] args ) {
System . o u t . p r i n t l n ( " H e l l o World ! " ) ; / / D i s p l a y t h e s t r i n g .
}
}
Cours Java - F. Michel
24 / 25
Vue générale Hello World HelloWorld en détail Résumé global
Résumé global
La technologie Java :
un langage de programmation orienté objet
The Java language Specification
une machine virtuelle : JVM.
des APIs, notamment l’API standard Java Platform Standard Ed. 17 API
Pour programmer en java, il faut :
créer au moins une classe incluant la méthode main.
les programmes javac et java pour compiler et exécuter.
Ce cours reprend largement les tutoriaux en ligne proposés par Sun :
The Java Tutorials
Cours Java - F. Michel
25 / 25