CodeGym /Cours /JAVA 25 SELF /Chaînes et texte : le type

Chaînes et texte : le type String, manipuler les chaînes

JAVA 25 SELF
Niveau 2, Leçon 2
Disponible

1. Examinons plus en détail le type String

Le type String est l’un des types les plus utilisés en Java. Peut-être même le plus utilisé. C’est un type formidable, car on peut y stocker du texte. Et, contrairement aux types int et double, les objets de type String disposent d’une multitude de méthodes, grâce auxquelles on peut faire toutes sortes de choses intéressantes.

De plus, tous les objets en Java (absolument tous) peuvent être convertis en type String. Ou, pour être plus précis, tous les objets en Java renvoient leur représentation textuelle (chaîne). Nous reviendrons plus d’une fois sur ce type (il est vraiment utile et intéressant), mais aujourd’hui nous allons en découvrir les bases.

Création de variables de type String

Le type String est conçu pour stocker des chaînes (du texte). Pour créer dans le code une variable capable de stocker du texte, utilisez la commande :

String name;
Création d’une variable de type String

Où name est le nom de la variable.

Exemples :

Commande Description
String name;
Une variable de type chaîne name est créée
String message;
Une variable de type chaîne message est créée
String text;
Une variable de type chaîne text est créée

Comme pour les types int et double, on peut utiliser une écriture abrégée pour créer plusieurs variables de type String :

String name1, name2, name3;
Création de variables de type String

2. Affectation de valeurs aux variables de type String

Pour mettre une valeur dans une variable de type String, utilisez la commande :

name = "valeur";
Affectation d’une valeur à une variable de type String

Voici la première différence avec les types déjà étudiés. Toutes les valeurs de type String sont des chaînes de texte et doivent être placées entre guillemets doubles.

Exemples :

Commande Remarque
String name = "Anya";
La variable name contient le texte Anya
String city = "New York";
La variable city contient le texte New York
String message = "Hello!";
La variable message contient le texte Hello!

3. Initialisation des variables de type String

Comme pour les types int et double, les variables de type String peuvent être initialisées au moment de leur création. D’ailleurs, c’est possible pour tous les types en Java. Nous n’y reviendrons donc plus.

String name1 = "valeur1", name2 = "valeur2", name3 = "valeur3";
Forme abrégée de création et d’initialisation de variables
String name = "Anya", city = "New York", message = "Hello!";
Exemple de commande de création et d’initialisation de variables

Seules les variables ayant une valeur peuvent être modifiées

Le compilateur Java se plaindra si vous déclarez une variable sans lui affecter de valeur et essayez de l’utiliser.

Ce code ne fonctionnera pas :

String name;
System.out.println(name); // La variable name n'est pas initialisée. Le programme ne se compilera pas.
int a;
a++; // La variable a n'est pas initialisée. Le programme ne se compilera pas.
double x;
double y = x; // La variable x n'est pas initialisée. Le programme ne se compilera pas.

4. Concaténation — assembler des chaînes

Il existe une chose très simple et très intéressante que l’on peut faire avec les chaînes en Java — on peut les assembler. Cette opération s’appelle la concaténation. Pour que ce soit plus facile à retenir — Con-ca-té-na-tion 😆. On l’appelle aussi souvent « assemblage de chaînes » ou même simplement « addition de chaînes ».

Pour assembler deux chaînes, il faut utiliser l’opérateur +. C’est très simple :

"chaîne1" + "chaîne2"
Concaténation de deux chaînes

Exemples :

Commande Remarque
String name = "Anya" + "Anya";
name contient la chaîne AnyaAnya
String city = "New York" + "Anya";
city contient la chaîne New YorkAnya
String message = "Hello! " + "Anya";
message contient la chaîne Hello! Anya

Bien sûr, on peut additionner plusieurs chaînes à la fois, et aussi additionner des chaînes et des variables.

String name = "Anya";                // name contient la chaîne Anya
String city = "New York";           // city contient la chaîne New York
String message = "Hello!" + city + name + city; // message contient la chaîne Hello!New YorkAnyaNew York

5. Chaînes vides

Dans le dernier exemple, on voit que le texte dans la variable message est difficile à lire, car il manque des espaces. Pour ajouter un espace (ou plusieurs), il suffit de les écrire dans le code et de les entourer de guillemets doubles. C’est plus simple qu’il n’y paraît :

" "
Chaîne contenant un seul espace

D’ailleurs, si l’on ne laisse rien entre les guillemets (deux guillemets doubles à la suite), on obtient ce qu’on appelle une « chaîne vide » :

""
Chaîne vide

D’un côté, elle existe, mais de l’autre, rien ne s’affiche à l’écran lorsqu’on la montre. Et lorsqu’on l’assemble avec d’autres chaînes, il ne se passe rien. C’est une sorte d’analogue du zéro, mais pour les chaînes.

6. Échappement des caractères spéciaux dans les chaînes

Vous savez déjà que les chaînes sont délimitées par des guillemets doubles. Mais que faire si l’on doit insérer des guillemets dans une chaîne ? Si nous écrivons des guillemets dans la chaîne, le compilateur ne pensera-t-il pas qu’il s’agit de la fin de la chaîne ?

Exact. Il le pensera. C’est pourquoi les guillemets à l’intérieur du texte sont remplacés par la paire de caractères \". Et le code ressemblera à ceci :

String quote = "Il a dit: \"Bonjour!\"";
System.out.println(quote); // Il a dit: "Bonjour!"

En réalité, c’est un peu plus subtil. Le caractère \ est un caractère spécial (de contrôle) à l’intérieur des chaînes. Avec lui, on peut introduire divers « caractères non imprimables » comme le saut de ligne, la tabulation, etc. Et pour introduire le caractère \ lui-même, il faut l’écrire 2 fois.

Voici les 4 combinaisons les plus courantes :

Notation Signification
\n Saut de ligne (newline)
\t Tabulation (indentation)
\\ Au sens littéral \
\" Guillemets à l’intérieur d’une chaîne

Exemple :

String multiline = "Ligne 1\nLigne 2";
System.out.println(multiline);

Affichera :

Ligne 1
Ligne 2

7. Fonctions propres des chaînes

Le type String possède ses propres fonctions (on les appelle aussi méthodes). Il y en a beaucoup, et elles facilitent la vie des développeurs. Aujourd’hui, vous allez en découvrir quelques-unes (les plus simples). Exemple :

Fonction Description Exemple de résultat
str.length()
Longueur de la chaîne
"abc".length() → 3
str.toUpperCase()
En majuscules
"abc".toUpperCase() → "ABC"
str.toLowerCase()
En minuscules
"ABC".toLowerCase() → "abc"
str.trim()
Supprimer les espaces en début et fin
"  x y  ".trim() → "x y"

Exemples d’utilisation des fonctions de chaînes

Toutes ces fonctions se déclenchent ainsi : variable.méthode(...).

Déterminer la longueur d’une chaîne :

String name = "Andrey";
int length = name.length();
System.out.println(length); // 6, car il y a 6 lettres

Mettre une chaîne en majuscules ou en minuscules :

String original = "Bonjour";
System.out.println(original.toUpperCase()); // BONJOUR
System.out.println(original.toLowerCase()); // bonjour

Supprimer les espaces en début et fin (très utile lors d’une saisie au clavier) :

String messy = "   hello   ";
System.out.println(messy.trim()); // "hello"

Chaque méthode de ce type renvoie une nouvelle chaîne ; l’ancienne chaîne ne change pas.

1
Mission
JAVA 25 SELF, niveau 2, leçon 2
Bloqué
Message du futur 👽
Message du futur 👽
1
Mission
JAVA 25 SELF, niveau 2, leçon 2
Bloqué
Création du nom complet 👤
Création du nom complet 👤
1
Mission
JAVA 25 SELF, niveau 2, leçon 2
Bloqué
Citation du héros 🗣️
Citation du héros 🗣️
1
Mission
JAVA 25 SELF, niveau 2, leçon 2
Bloqué
Traitement des données du formulaire 📝
Traitement des données du formulaire 📝
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION