Cours Java - F. Michel

publicité
Vue générale
Hello World
HelloWorld en détail
Résumé global
Introduction au langage Java
Cours Java - F. Michel
1 / 24
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 / 24
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
3 / 24
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 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
Le langage Java
Principales caractéristiques
“simple” et orienté objet
portable (indépendant d’une architecture ou d’un OS)
robuste et sécurisé
dynamique et multithreaded
Design Goals of the Java Programming language
Cours Java - F. Michel
5 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
Le langage Java
Principe de fonctionnement
Cours Java - F. Michel
6 / 24
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
7 / 24
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 (> 6000 classes)
Cours Java - F. Michel
8 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
Pour résumer
Cours Java - F. Michel
9 / 24
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
10 / 24
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 7 (JDK 7)
téléchargement
windows/linux :
par dépôt ppa
linux (debian-like) :
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
11 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
Premier programme : 3 étapes
1. Codage
Création du fichier source HelloWorldApp.java
2. Compilation
Compilation du fichier source HelloWorldApp.java en
HelloWorldApp.class
3. Exécution
Utilisation de la JVM locale pour exécuter le fichier
HelloWorldApp.class
Cours Java - F. Michel
12 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
1. Codage du fichier source HelloWorldApp.java
Par exemple dans /home/joe/ :
HelloWorldApp.java
/∗∗
∗ 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
13 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
2. Compilation du fichier source en
HelloWorldApp.class
Dans /home/joe/, utilisation du programme javac (java compiler) :
Dans un terminal
joe@ iut : ~ $ j a v a c HelloWorldApp . j a v a
joe@ iut : ~ $ l s
HelloWorldApp . c l a s s HelloWorldApp . j a v a
joe@ iut : ~ $
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 −7−o r a c l e / b i n / j a v a c HelloWorldApp . j a v a
Cours Java - F. Michel
14 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
2. Compilation du fichier source en
HelloWorldApp.class
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 : ajout d’un dépôt PPA )
Windows
propriétés du poste de travail → avancé → variables d’environnement
(nouveau)
PATH= blabla ; c :\JDKInstalDirectory \bin
Cours Java - F. Michel
15 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
3. Exécution de HelloWorldApp.class 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@ iut : ~ $ j a v a HelloWorldApp
H e l l o World !
joe@ iut : ~ $
le programme java doit lui aussi être dans le PATH de l’OS !
sinon. . .
/ u s r / l i b / jvm / java −7−o r a c l e / b i n / j a v a HelloWorldApp
Cours Java - F. Michel
16 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
Pour résumer
Cours Java - F. Michel
17 / 24
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
18 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
HelloWorldApp.java 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 :
/∗ t e x t ∗/
/ ∗ ∗ documentation ∗ /
/ / text
Cours Java - F. Michel
19 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
HelloWorldApp.java 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
20 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
HelloWorldApp.java 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@iut : ~ $ j a v a HelloWorldApp
E x c e p ti o n i n t h r e a d " main " j a v a . l a n g . NoSuchMethodError : main
joe@iut : ~ $
Cours Java - F. Michel
21 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
HelloWorldApp.java 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
22 / 24
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.
HelloWorldApp.java
/∗∗
∗ 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
23 / 24
Vue générale
Hello World
HelloWorld en détail
Résumé global
Résumé global
La technologie Java :
The Java language Specification
un langage de programmation orienté objet
une machine virtuelle : JVM.
Java Platform Standard Ed. 7 API
des APIs, notamment l’API standard
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
24 / 24
Téléchargement