Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère...
Transcript of Java débutant - · JAVA : write once, run anywhere • La compilation d'un programme ne génère...
Java débutant
Qua faire quand j'arrive en TP ?
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
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
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
Principe JVM
Notre environnement java• javac : le compilateur java
• java : l'interprète de la machine virtuelle java
• L'écosystème Java est beaucoup plus large
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
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
Fichier Hello.java
public class Hello {
public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte
}
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
É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
• ...
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
}
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
}
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
}
Documentation JAVA• utiliser la documentation Java est un point important pour la
compréhension du langage
•
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)