W3docs

Affichage Java : print, println et printf

Affichez du texte et des valeurs dans la console avec System.out.print, println et printf, et comprenez leurs différences.

La façon standard d'afficher des données depuis un programme Java passe par System.out, le flux de sortie standard disponible pour chaque programme. Il expose trois méthodes que vous utiliserez constamment : print, println et printf. Elles ne diffèrent que par leur gestion des sauts de ligne et du formatage.

System.out.println

println ("print line") écrit son argument suivi d'un saut de ligne. Chaque appel passe à la ligne suivante :

System.out.println("Line 1");
System.out.println("Line 2");
System.out.println("Line 3");

Sortie :

Line 1
Line 2
Line 3

C'est la méthode que vous utiliserez le plus souvent.

System.out.print

print est identique à println mais sans le saut de ligne final. Utile quand vous souhaitez afficher plusieurs valeurs sur une même ligne :

System.out.print("Loading");
System.out.print(".");
System.out.print(".");
System.out.print(".");
System.out.println(" done");

Sortie :

Loading... done

Afficher des valeurs, pas seulement des chaînes

print et println acceptent n'importe quel type, pas seulement des chaînes. Le runtime convertit automatiquement les nombres, les booléens, les caractères et même les objets en chaîne pour vous :

System.out.println(42);
System.out.println(3.14);
System.out.println(true);
System.out.println('A');

Pour les objets arbitraires, le runtime appelle leur méthode toString() (abordée plus tard dans la POO).

Concaténation de chaînes avec +

L'opérateur + assemble des chaînes — et si vous combinez un nombre ou une autre valeur, Java le convertit automatiquement :

String name = "Ada";
int age = 36;
System.out.println("Hello, " + name + "! You are " + age + " years old.");

Sortie :

Hello, Ada! You are 36 years old.

System.out.printf — sortie formatée

printf ("print formatted") est l'équivalent Java du printf du langage C. Vous passez une chaîne de format avec des espaces réservés et les valeurs à substituer :

java— editable, runs on the server

Les espaces réservés courants :

  • %s — string
  • %d — integer
  • %f — floating-point number
  • %.2f — float with 2 decimal places
  • %5d — integer in a field 5 characters wide, padded with spaces on the left (right-aligned)
  • %-5d — integer in a field 5 characters wide, padded with spaces on the right (left-aligned)
  • %n — platform-specific newline (use this instead of \n in printf)
  • %% — a literal % sign

System.err — afficher les erreurs

Il existe un flux parallèle pour la sortie d'erreurs : System.err. Il prend en charge les mêmes méthodes print, println et printf. Par convention, la sortie normale passe par System.out et les messages d'erreur par System.err :

System.out.println("Loaded 3 records.");
System.err.println("Warning: could not parse line 5.");

Dans un terminal, les deux flux apparaissent ensemble, mais les outils qui redirigent la sortie (> file.txt) peuvent les séparer.

Erreurs courantes

  • Utiliser print à la place de println. La sortie se retrouve sur une seule ligne sans séparateur.
  • Mélanger + et , dans printf. Les espaces réservés de la chaîne de format sont remplis par des arguments supplémentaires, pas par concaténation. Utilisez printf("%s scored %d", name, score), pas printf("%s scored", name + score).
  • Oublier %n dans printf. Sans lui, votre sortie est collée.

Et ensuite

Les commentaires Java présente les trois syntaxes de commentaires, dont Javadoc — la façon standard de documenter le code Java.

Pratique

Pratique
Quelle méthode écrit son argument SANS saut de ligne final ?
Quelle méthode écrit son argument SANS saut de ligne final ?
Was this page helpful?