Programmation Java/Premier programme

Un livre de Wikilivres.
Sauter à la navigation Sauter à la recherche


Premier programme[modifier | modifier le wikicode]

Le fichier source[modifier | modifier le wikicode]

Ce programme doit être écrit dans le fichier Exemple.java.

public class Exemple {
        public static void main(String[] args) {
                System.out.println("Hello world!");
        }
}

Explications sur le langage[modifier | modifier le wikicode]

Ce programme est le classique Hello world. Comme son nom l'indique, ce programme va afficher la phrase "Hello world" à l'écran. Analysons-le ligne par ligne :

public class Exemple {

Cette ligne déclare une classe publique que nous appelons Exemple.

Un fichier .java ne peut contenir qu'une seule classe publique et le fichier doit porter le nom de cette classe. Ainsi, le fichier de ce premier exemple s'appellera obligatoirement Exemple.java (en respectant la classe).

Ce système de nommage permet au compilateur et à l'interpréteur de trouver les fichiers correspondant à une classe.

public static void main(String[] args) {

Cette ligne déclare une méthode appelée main. Cette méthode est le point d'entrée du programme (la méthode appelée lorsqu'il sera exécuté).

Elle prend en argument un tableau de chaînes de caractères (String[] args) et ne retourne rien (void).

Cette méthode est publique et statique, ce qui sera expliqué plus loin.

System.out.println("Hello world!");

Cette dernière instruction invoque la méthode println de l'objet out se trouvant dans la classe System en lui passant en argument la chaîne Hello world!. L'exécution de cette méthode aura pour résultat l'affichage de Hello world!.

Cette ligne peut sembler obscure pour l'instant. Les détails seront abordés par la suite.

Installation de Java[modifier | modifier le wikicode]

Nous allons présenter la compilation de notre programme en utilisant le compilateur gratuit Java très répandu nommé Javac, disponible gratuitement auprès d'Oracle. Cependant, il faut savoir qu'il existe aussi de nombreux environnements de développement Java permettant de taper, compiler, exécuter ou débuguer des programmes dans ce langage.

Le mieux :

  1. Pour Windows, télécharger le JDK sur https://www.java.com/fr/ ;
  2. Pour Linux, télécharger OpenJDK selon http://openjdk.java.net/install/.

Par ailleurs, il est possible de tester des morceaux de code sans installation sur des sites comme https://javafiddle.leaningtech.com/.

Compilation du fichier source[modifier | modifier le wikicode]

Tapez le programme précédent et sauvegardez le dans un fichier Exemple.java (pour la raison expliquée précédemment) et tapez dans une fenêtre :

Invite de commande DOS Terminal Unix
> javac Exemple.java
> dir
Exemple.class
Exemple.java
>
$ javac Exemple.java
$ ls
Exemple.class
Exemple.java
$

Le compilateur Javac a produit le fichier Exemple.class, contenant le code intermédiaire. Ce fichier n'est normalement pas éditable[1], ce qui peut garantir le copyright.

En cas de problèmes...

Voici les points à vérifier selon le type de problème :

Le système indique que le compilateur est introuvable 
  1. Vérifiez que vous avez installé un kit de développement Java (le JDK) et pas simplement un environnement d'exécution (JRE) qui ne comporte pas les outils de compilation.
  2. Vérifiez que le chemin du répertoire bin contenant le compilateur javac (javac.exe sous Windows) est dans la liste de la variable d'environnement PATH.
Le compilateur se lance mais affiche une erreur de classe non trouvée 
  1. Si la classe ne déclare aucun paquetage (package), vérifiez que vous lancez la commande depuis le répertoire où se trouve le fichier source (*.java). Changez de répertoire si nécessaire avant de recommencer.
  2. Sinon, vous devez lancer la commande depuis le répertoire parent du paquetage racine, en donnant le chemin relatif du fichier source depuis ce répertoire parent.
  3. Dans les deux cas ci-dessus, en plus de changer de répertoire courant, il peut être nécessaire d'ajouter le chemin de ce répertoire dans le classpath. Cela peut être fait soit dans la ligne de commande avec l'option -classpath (ou -cp), soit dans la variable d'environnement CLASS_PATH.
Le compilateur se lance mais affiche une erreur de syntaxe 
  1. Vérifiez le contenu du fichier source. Pour compiler les exemples de ce livre, le mieux est de faire un copier-coller complet du code.
  2. Assurez-vous de compiler le bon fichier source et pas un autre.

Exécution du programme[modifier | modifier le wikicode]

Java est une machine virtuelle java fournie par Oracle et disponible pour de nombreux environnements.

Pour exécuter notre code intermédiaire, il faut taper :

java Exemple

L'exécution du programme affiche dans une fenêtre console la fameuse phrase Hello world!.

En cas de problèmes...

Voici les points à vérifier selon le type de problème :

Le système indique que la commande java est introuvable 
  1. Vérifiez que vous avez installé un kit de développement Java (le JDK).
  2. Vérifiez que le chemin du répertoire bin contenant l'interpréteur java (java.exe sous Windows) est dans la liste de la variable d'environnement PATH.
L'interpréteur se lance mais affiche une erreur de classe non trouvée 
  1. Vérifiez que vous avez compilé le fichier source *.java (voir section précédente) sans erreur, c'est-à-dire que vous avez obtenu un fichier compilé *.class.
  2. Si la classe ne déclare aucun paquetage (package), vérifiez que vous lancez la commande depuis le répertoire où se trouve le fichier compilé (*.class). Changez de répertoire si nécessaire avant de recommencer.
  3. Sinon, vous devez lancer la commande depuis le répertoire parent du paquetage racine, en donnant le nom complet de la classe (incluant le nom du paquetage).
  4. Dans les deux cas ci-dessus, en plus de changer de répertoire courant, il peut être nécessaire d'ajouter le chemin de ce répertoire dans le classpath. Cela peut être fait soit dans la ligne de commande avec l'option -classpath (ou -cp), soit dans la variable d'environnement CLASS_PATH.
L'interpréteur se lance mais rien ne s'affiche, ou le comportement n'est pas le même 
  1. Vérifiez le contenu du fichier source. Pour compiler les exemples de ce livre, le mieux est de faire un copier-coller complet du code.
  2. Assurez-vous de lancer la bonne classe principale et pas une autre.

Voir aussi[modifier | modifier le wikicode]

Références[modifier | modifier le wikicode]

  1. http://www.jmdoudoux.fr/java/dej/chap-decompil.htm