Introduction
Dans ce laboratoire, vous utiliserez la méthode printf() en Java. La méthode printf() est utilisée pour formater et afficher une chaîne de caractères dans la console. La syntaxe générale de la méthode est :
Configuration du répertoire du projet
Ouvrez le terminal et créez un répertoire de projet en utilisant la commande :
mkdir project
Créez un nouveau fichier à l'intérieur du répertoire du projet en utilisant la commande :
touch project_formatting_printf.java
Mise en forme d'entiers
Pour formater des entiers à l'aide de printf(), nous utilisons le spécificateur de format %d. Voici un exemple :
public static void main(String[] args) {
int num = 10;
System.out.printf("The number is: %d%n", num);
}
Dans le code ci-dessus, %d est le spécificateur de format pour les entiers et %n est le caractère de nouvelle ligne.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
The number is: 10
Mise en forme de nombres décimaux
Pour formater des nombres décimaux, utilisez le spécificateur de format %f. Par exemple :
public static void main(String[] args) {
double num = 3.14159265359;
System.out.printf("The number is: %.2f%n", num);
}
Dans le code ci-dessus, %.2f est le spécificateur de format pour les nombres décimaux avec 2 décimales.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
The number is: 3.14
Mise en forme de dates
Pour formater des dates, nous utilisons t comme caractère de conversion et nous donnons un spécificateur de format. Par exemple :
public static void main(String[] args) {
Date date = new Date();
System.out.printf("Today is %tA, %<tB %<te, %<tY.%n", date);
}
Dans le code ci-dessus, %tA est le spécificateur de format pour le nom complet du jour et %<tB %<te, %<tY est le spécificateur de format pour le mois, le jour et l'année. %n est le caractère de nouvelle ligne.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
Today is Friday, October 15, 2021.
Utilisation de drapeaux (flags)
Les indicateurs (flags) sont utilisés pour ajouter des fonctionnalités spéciales à la sortie. Par exemple :
public static void main(String[] args) {
double num = 12345.6789;
System.out.printf("The number is: %,.2f%n", num);
}
Dans le code ci-dessus, , est le séparateur de milliers et %.2f est le spécificateur de format pour les nombres décimaux avec 2 décimales.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
The number is: 12,345.68
Utilisation de la précision
La précision est utilisée pour limiter le nombre de décimales. Par exemple :
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %.2f%n", num);
}
Dans le code ci-dessus, %.2f est le spécificateur de format pour les nombres décimaux avec 2 décimales.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
The number is: 1234.57
Utilisation des majuscules
Pour afficher la sortie en majuscules, nous utilisons la majuscule du caractère de conversion. Par exemple :
public static void main(String[] args) {
String name = "John Doe";
System.out.printf("Name: %S%n", name);
}
Dans le code ci-dessus, %S est le spécificateur de format pour les chaînes de caractères en majuscules.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
Name: JOHN DOE
Utilisation du remplissage (padding)
Nous pouvons utiliser le remplissage (padding) pour ajouter des espaces ou des zéros à la sortie. Par exemple :
public static void main(String[] args) {
int num = 123;
System.out.printf("The number is: %010d%n", num);
}
Dans le code ci-dessus, %010d est le spécificateur de format pour les entiers sur 10 chiffres et le caractère de remplissage est le zéro.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
The number is: 0000000123
Combinaison de spécificateurs de format
Nous pouvons combiner plusieurs spécificateurs de format pour formater la sortie comme nous le souhaitons. Par exemple :
public static void main(String[] args) {
double num = 1234.56789;
System.out.printf("The number is: %,010.2f%n", num);
}
Dans le code ci-dessus, %010.2f est le spécificateur de format pour les nombres décimaux avec 2 décimales, sur 10 chiffres, et le caractère de remplissage (padding) est le zéro. , est le séparateur de milliers.
Compilez et exécutez le code en utilisant les commandes suivantes :
javac project_formatting_printf.java
java project_formatting_printf
Vous verrez la sortie suivante :
The number is: 01,234.57
Résumé
Félicitations! Vous avez terminé le laboratoire (lab) "Formatting With Printf". Vous pouvez pratiquer davantage de laboratoires sur LabEx pour améliorer vos compétences.



