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;
Où name est le nom de la variable.
Exemples :
| Commande | Description |
|---|---|
|
Une variable de type chaîne name est créée |
|
Une variable de type chaîne message est créée |
|
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;
2. Affectation de valeurs aux variables de type String
Pour mettre une valeur dans une variable de type String, utilisez la commande :
name = "valeur";
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 |
|---|---|
|
La variable name contient le texte Anya |
|
La variable city contient le texte New York |
|
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";
String name = "Anya", city = "New York", message = "Hello!";
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"
Exemples :
| Commande | Remarque |
|---|---|
|
name contient la chaîne AnyaAnya |
|
city contient la chaîne New YorkAnya |
|
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 :
" "
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 » :
""
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 |
|---|---|---|
|
Longueur de la chaîne | |
|
En majuscules | |
|
En minuscules | |
|
Supprimer les espaces en début et fin | |
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.
GO TO FULL VERSION