Formatage de chaînes de caractères en Java

JavaJavaBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

En Java, la méthode String.format() forme une chaîne de caractères en utilisant une combinaison d'une chaîne de formatage, d'un paramètre de langue et de paramètres. La chaîne de formatage spécifie le format auquel les paramètres doivent être convertis, et le paramètre de langue spécifie tout paramètre à utiliser, tel que la langue ou la région. Dans ce laboratoire, nous allons apprendre à utiliser la méthode String.format() pour former des chaînes de caractères.

Création d'un exemple de formatage de chaîne de caractères simple

Dans cette étape, nous allons créer un exemple de base d'utilisation de la méthode String.format() pour formater une chaîne de caractères.

  1. Créez un nouveau fichier Java nommé SimpleFormatExample.java dans le répertoire ~/projet.
  2. Dans la méthode main() de la classe SimpleFormatExample, créez une variable de chaîne de caractères appelée formattedString et affectez-lui le résultat de l'appel à String.format() avec les arguments suivants :
    1. La chaîne de caractères "Bonjour, %s!" en tant que chaîne de formatage.
    2. La chaîne de caractères "monde" en tant qu'argument.
  3. Affichez la valeur de formattedString à l'aide de System.out.println().
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code :

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("Hello, %s!", "world");
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

Hello, world!

Utilisation d'arguments dans la chaîne de formatage

Dans cette étape, nous allons apprendre à utiliser des arguments dans la chaîne de formatage pour personnaliser la sortie.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la variable formattedString pour utiliser un argument pour le nombre de caractères à afficher. Remplacez le "s" dans la chaîne de formatage par ".%d-s" pour spécifier le nombre maximum de caractères à afficher.
  3. Ajoutez un argument entier après la chaîne de formatage pour représenter le nombre maximum de caractères à afficher.
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("Hello, %d-s!", 5);
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

Hello, 5-s!

Utilisation de drapeaux pour modifier le comportement de formatage

Dans cette étape, nous allons apprendre à utiliser des drapeaux pour modifier le comportement de la chaîne de formatage.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la chaîne de formatage pour aligner le texte à gauche en ajoutant un signe moins (-) après le signe %.
  3. Ajoutez un argument à la chaîne de formatage pour spécifier la largeur minimale de la sortie.
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("%-10s, world!", "Hello");
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

Hello    , world!

Utilisation de caractères de conversion pour formater différents types de données

Dans cette étape, nous allons apprendre à utiliser différents caractères de conversion pour formater différents types de données.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la chaîne de formatage pour inclure un nombre à virgule flottante en utilisant le caractère de conversion %f.
  3. Ajoutez un argument de nombre à virgule flottante après la chaîne de formatage.
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("The value of pi is approximately %f", 3.14159265359);
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

The value of pi is approximately 3.141593

Utilisation de modificateurs de précision pour contrôler le nombre de chiffres

Dans cette étape, nous allons apprendre à utiliser des modificateurs de précision pour contrôler le nombre de chiffres affichés dans la sortie formatée.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la chaîne de formatage pour inclure un nombre à virgule flottante en utilisant le caractère de conversion %f. Ajoutez un modificateur de précision (%.2f) pour n'afficher que deux chiffres après la virgule.
  3. Ajoutez un argument de nombre à virgule flottante après la chaîne de formatage.
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("The value of pi is approximately %.2f", 3.14159265359);
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

The value of pi is approximately 3.14

Utilisation de locales pour personnaliser les paramètres de formatage

Dans cette étape, nous allons apprendre à utiliser des locales pour personnaliser les paramètres de formatage, tels que la langue ou la région.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la chaîne de formatage pour inclure un nombre et utiliser le caractère de conversion %d.
  3. Ajoutez un argument entier après la chaîne de formatage.
  4. Ajoutez un second argument à la méthode String.format() pour spécifier la locale à utiliser. Utilisez la constante Locale.FRENCH pour spécifier la langue française.
  5. Enregistrez et fermez le fichier SimpleFormatExample.java.
  6. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  7. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

import java.util.Locale;

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format(Locale.FRENCH, "Le nombre est %d", 123456789);
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

Le nombre est 123456789

Formatage de valeurs de date et d'heure

Dans cette étape, nous allons apprendre à utiliser la méthode String.format() pour formater des valeurs de date et d'heure.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Ajoutez une instruction d'importation pour la classe java.util.Calendar, que nous utiliserons pour créer une instance de calendrier.
  3. Créez une nouvelle instance de Calendar à l'aide de Calendar.getInstance().
  4. Modifiez la chaîne de formatage pour inclure une date en utilisant le caractère de conversion %tD.
  5. Ajoutez un argument Date après la chaîne de formatage, en utilisant la méthode calendar.getTime() pour obtenir une valeur Date.
  6. Enregistrez et fermez le fichier SimpleFormatExample.java.
  7. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  8. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

import java.util.Calendar;
import java.util.Date;

public class SimpleFormatExample {
    public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        String formattedString = String.format("%tD", calendar.getTime());
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

08/22/21

Formatage en majuscules et minuscules

Dans cette étape, nous allons apprendre à utiliser les caractères de conversion %S et %s pour formater des chaînes de caractères en majuscules et en minuscules respectivement.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la chaîne de formatage pour inclure une chaîne de caractères en utilisant le caractère de conversion %S pour formater la chaîne en majuscules.
  3. Modifiez la chaîne de formatage pour inclure une deuxième chaîne de caractères en utilisant le caractère de conversion %s pour formater la chaîne en minuscules.
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

public class SimpleFormatExample {
    public static void main(String[] args) {
        String formattedString = String.format("The word %S is in uppercase and %s is in lowercase", "HELLO", "world");
        System.out.println(formattedString);
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

The word HELLO is in uppercase and world is in lowercase

Gestion des exceptions

Dans cette étape, nous allons apprendre les exceptions qui peuvent être levées lors de l'utilisation de la méthode String.format(), et comment les gérer.

  1. Ouvrez le fichier SimpleFormatExample.java dans un éditeur.
  2. Modifiez la chaîne de formatage pour inclure un caractère en utilisant le caractère de conversion %c.
  3. Ajoutez un argument de caractère après la chaîne de formatage.
  4. Enregistrez et fermez le fichier SimpleFormatExample.java.
  5. Dans le terminal, compilez le fichier SimpleFormatExample.java en exécutant la commande suivante : javac SimpleFormatExample.java.
  6. Ensuite, exécutez le fichier de classe à l'aide de la commande java SimpleFormatExample.

Voici le code modifié :

public class SimpleFormatExample {
    public static void main(String[] args) {
        try {
            String formattedString = String.format("The character is %c", "too long");
            System.out.println(formattedString);
        } catch (Exception e) {
            System.out.println("An exception occurred: " + e.getMessage());
        }
    }
}

Lorsque vous exécutez le code, vous devriez voir la sortie suivante :

An exception occurred: UString.format: '%c'!= java.base/java.lang.String

Récapitulatif

Dans ce laboratoire, nous avons appris à utiliser la méthode String.format() pour formater des chaînes de caractères en Java. Nous avons commencé par créer un exemple simple qui utilisait une chaîne de formatage et des arguments pour générer une chaîne. Nous avons ensuite appris à utiliser différents caractères de conversion pour formater les chaînes, ainsi que des modificateurs de précision et des drapeaux pour contrôler la sortie. Nous avons également appris à utiliser des locales pour personnaliser les paramètres de formatage et à formater des valeurs de date et d'heure. Enfin, nous avons discuté de certaines des exceptions qui peuvent être levées lors de l'utilisation de la méthode String.format() et de la manière de les gérer.