java débutant - · java : write once, run anywhere • la compilation d'un programme ne...
TRANSCRIPT
![Page 1: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/1.jpg)
Java débutant
Qua faire quand j'arrive en TP ?
![Page 2: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/2.jpg)
Compilation• Le compilateur traduit le programme écrit en programme
source Java en programme exécutable par la machine
Programme source .java
COMPILATEUR
Programme exécutable par le processeur sur la machine
![Page 3: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/3.jpg)
En Java • C'est un peu différent
• Le compilateur convertit le programme source en un programme exécutable sur une « machine virtuelle »
Programme source .java
COMPILATEUR
Programme exécutable par le processeur sur la machine virtuelle
INTERPRTE
Programme exécutable par le processeur sur la machine réelle
![Page 4: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/4.jpg)
JAVA : write once, run anywhere
• La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez
• Mais du bytecode Java, qui sont des instructions pour la machine virtuelle Java (JVM)
• Ce qui signifie que si vous disposez d'une JVM (Windows, Unix, Android, IOS, navigateur internet,…), elle peut exécuter le bytecode
![Page 5: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/5.jpg)
Principe JVM
![Page 6: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/6.jpg)
Notre environnement java• javac : le compilateur java
• java : l'interprète de la machine virtuelle java
• L'écosystème Java est beaucoup plus large
![Page 7: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/7.jpg)
Notre première application Java
Le programme affiche « Hello World ! »
1) Créer un fichier source Hello.javaCe fichier contient le code écrit en Java
2) Compiler le source en fichier bytecode Hello.classCette compilation est réalisée par l'intermédiaire du compilateur javac. Le fichier Hello.class contient du bytecode exécutable sur la JVM
3) Appeler la machine virtuelle JVM pur exécuter le bytecodeL'interprète traduit le bytecode en instructions exécutables par votre machine
![Page 8: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/8.jpg)
Comment réaliser ces étapes
1. Création du fichierUtilisation d'un éditeur (emacs, Notepad++,…)
2. Compilation du fichier en bytecodeUtilisation du compilateur javac
3. Exécution du programme par appel de la JVMUtilisation de la commande java
Note : ces trois étapes peuvent être réalisées par un unique outil comme eclipse ou Netbeans
![Page 9: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/9.jpg)
Fichier Hello.java
public class Hello {
public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte
}
![Page 10: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/10.jpg)
Compilation et exécution• Compiler le fichier source
javac Hello.java
Si et seulement si la compilation réussit (vous n'aurez aucun message d'erreur), un fichier Hello.class est créé
• Interpréter et exécution l'applicationjava Hello
Attention : pas de java Hello.class ou java Hello.java
![Page 11: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/11.jpg)
Écosystème javaPour informations
• javac : le compilateur java
• java : l'appel à la JVM
• javadoc : convertit le code en documentation HTML (très utile)
• appletviewer : permet d'exécuter des applets sans passer par un navigateur
• jdb : debugger java
• jar : système d'archivage java
• javah : permet l'utilisation de code java en C
• ...
![Page 12: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/12.jpg)
Inspection de notre programme
• définition d'une classe
• Brique de base d'un langae orienté-objet (cf plus tard)
• Le nom de la classe débute obligatoirement par une majuscule
public class Hello {
public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte
}
![Page 13: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/13.jpg)
La méthode main (...)• Le point d'entrée dans le programme est la méthode main (…)
– appelée en premier par la JVM
– le nom du fichier source est celui de la classe qui contient la méthode main
public class Hello {
public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte
}
![Page 14: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/14.jpg)
Utilisation d'une métjode• La classe System fournit des accès à des fonctionnalités
comme l'affichage ou l'heure, la date…
• A voir sur https://docs.oracle.com/javase/8/docs/api/java/lang/System.html
public class Hello {
public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte
}
![Page 15: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/15.jpg)
![Page 16: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/16.jpg)
Documentation JAVA• utiliser la documentation Java est un point important pour la
compréhension du langage
•
![Page 17: Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez](https://reader031.vdocuments.net/reader031/viewer/2022022717/5c30cdac09d3f297358bc184/html5/thumbnails/17.jpg)
Conventions d'écriture en JAVA
• TRES TRES IMPORTANT
• classe MonPremierProgramme
• méthode commence toujours par une minuscule– écrireNom()
– getNom() (appelées geters)
– setNom(« toto ») (appelées seters)
• Variables ou attributs– monNom, monPrénom
• Constantes en MAJUSCULES– NOMBRE_ETUDIANTS
• Respectez ces conventions dans ce cours (première loi)