Vous êtes sur la page 1sur 22

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 : openjdk.java.net/

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 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


13 / 25
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
14 / 25
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
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


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 : 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 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@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

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 :


/* text */
/ * * documentation * /
/ / text

Cours Java - F. Michel


20 / 25
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


21 / 25
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@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

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


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.

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


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

Vous aimerez peut-être aussi