W3docs

Programme Java Hello World

Écrivez, compilez et exécutez votre premier programme Java — un classique Hello World — et comprenez chaque partie du fichier source.

Chaque tutoriel de langage de programmation commence par le même rituel : un petit programme qui affiche Hello, World!. La version Java a plus de code répétitif que la plupart des langages, mais chaque partie de ce code répétitif est quelque chose que vous reverrez. Ce chapitre décortique le programme ligne par ligne, puis montre comment le compiler et l'exécuter.

Cette page suppose que vous avez déjà un JDK installé ; sinon, commencez par Comment installer Java.

Vous pouvez modifier l'exemple ci-dessous et appuyer sur Run — il compile et s'exécute réellement sur le serveur :

java— editable, runs on the server

Le programme complet

Voici le fichier source complet. Par convention, il serait enregistré sous le nom HelloWorld.java — Java exige que le nom du fichier corresponde au nom de la classe publique.

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

Analyse ligne par ligne

public class HelloWorld

Tout programme Java vit à l'intérieur d'une classe. Une classe est un modèle qui regroupe données et comportements — la pierre angulaire de la programmation orientée objet. Ici, la classe s'appelle HelloWorld, et le mot-clé public signifie qu'elle est visible depuis n'importe quelle autre classe.

La convention veut que les noms de classes utilisent le UpperCamelCase : HelloWorld, BankAccount, Order.

public static void main(String[] args)

C'est le point d'entrée du programme — la méthode que la JVM appelle lorsque vous lancez votre code. La signature est précise : modifiez n'importe quelle partie et la JVM ne la trouvera pas.

  • public — la JVM doit pouvoir l'appeler depuis l'extérieur de la classe.
  • static — elle peut être appelée sans créer au préalable une instance de HelloWorld.
  • void — elle ne retourne pas de valeur.
  • main — le nom spécial que la JVM recherche.
  • String[] args — un tableau d'arguments en ligne de commande passés lors du démarrage du programme. Vous pouvez le nommer comme vous voulez (args est conventionnel).

System.out.println("Hello, World!");

System est une classe de la bibliothèque standard ; out est un champ statique qui contient le flux de sortie standard ; println est une méthode sur ce flux qui affiche son argument suivi d'un saut de ligne.

"Hello, World!" est un littéral de chaîne — une séquence de caractères entourée de guillemets doubles. Les chaînes sont au cœur de Java ; une fois à l'aise ici, Java Strings couvre tout ce que vous pouvez en faire.

Toute instruction Java se termine par un point-virgule (;). Le compilateur se plaindra si vous l'oubliez. Pour les règles générales — espaces, accolades, identifiants — consultez Java Syntax.

Compiler et exécuter depuis le terminal

Si vous avez le JDK dans votre PATH (voir les deux chapitres précédents), vous pouvez compiler et exécuter depuis n'importe quel terminal :

# Save the source as HelloWorld.java, then:
javac HelloWorld.java       # compiles to HelloWorld.class
java HelloWorld             # runs the bytecode

Résultat :

Hello, World!

Notez que vous passez HelloWorld à java, non pas HelloWorld.class ou HelloWorld.java. Le lanceur java prend le nom de classe entièrement qualifié et trouve le fichier .class correspondant dans le classpath.

Essayez une variante

Modifiez l'exemple exécutable pour afficher autre chose — votre nom, l'année en cours, un message multiligne — et appuyez sur Run. Quelques idées :

System.out.println("Hello from Java " + System.getProperty("java.version"));
System.out.println("Line 1");
System.out.println("Line 2");
System.out.printf("%s is %d years old%n", "Ada", 36);

Les deux dernières méthodes à connaître :

  • println — affiche son argument et un saut de ligne.
  • print — comme println mais sans le saut de ligne final.
  • printf — formatage de style printf, comme en C. %s insère une chaîne, %d un entier, et %n un saut de ligne adapté à la plateforme. Voir Java String Formatting pour l'ensemble complet des spécificateurs de format.

Erreurs courantes des débutants

Quelques pièges qui surprennent les novices :

  • Nom de fichier incorrect. Une public class HelloWorld doit se trouver dans un fichier nommé HelloWorld.java. Sinon javac génère une erreur.
  • Point-virgule manquant. Chaque instruction en a besoin d'un. Les messages d'erreur du compilateur indiquent généralement clairement quelle ligne est en cause.
  • Println vs println. Java est sensible à la casse.
  • Guillemets typographiques. Copier du code depuis un site web qui a remplacé " par des guillemets courbes produira une erreur de compilateur déconcertante.

Et ensuite

Comment compiler et exécuter un programme Java approfondit ce que javac et le lanceur java font réellement, notamment le classpath, les packages, et l'utilisation de jshell pour des expériences rapides sans programme complet. Pour annoter votre code au fur et à mesure de sa croissance, consultez Java Comments.

Pratique

Pratique
Quelle signature est le point d'entrée correct pour un programme Java ?
Quelle signature est le point d'entrée correct pour un programme Java ?
Was this page helpful?