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