English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Array

Java Programmation orientée objet (I)

Java Programmation orientée objet (II)

Java Programmation orientée objet (III)

Gestion des exceptions Java

Java List

Java Queue (file d'attente)

Java Map collection

Java Set collection

Java Entrée/Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Chaînes (String) Java

Dans ce tutoriel, nous allons apprendre à utiliser Java String à l'aide d'exemples, comment le créer et ses différentes méthodes.

 En Java, une chaîne est une série de caractères. Par exemple, "hello" est une chaîne contenant la séquence de caractères "h", "e", "l", "l" et "o".

Contrairement aux autres langages de programmation, les chaînes de caractères en Java ne sont pas un type de base (comme int, char, etc.). Au lieu de cela, toutes les chaînes sont des objets de la classe prédéfinie appelée String. Par exemple,

//Créer une chaîne
String type = "java programming";

Ici, nous créons une chaîne appelée type. Ici, nous initialisons la chaîne avec "java programming". Dans Java, nous utilisonsGuillemets doublesreprésente une chaîne de caractères.

Cette chaîne est une instance de la classe String.

Remarque:Toutes les variables de chaîne de caractères sont des instances de la classe String.

Méthodes de chaîne de caractères Java

Java String fournit diverses méthodes qui nous permettent d'exécuter différentes opérations sur les chaînes de caractères. Voici quelques méthodes couramment utilisées.

MéthodeDescription
concat()Joigne deux chaînes ensemble
equals()Compare les valeurs de deux chaînes
charAt()Retourne le caractère existant à la position spécifiée
getBytes()Convertit la chaîne en tableau d'octets
indexOf()Retourne la position du caractère spécifié dans la chaîne
length()Retourne la taille de la chaîne spécifiée
replace()Remplace le caractère ancien spécifié par le caractère nouveau spécifié
substring()Retourne la sous-chaîne de la chaîne
split()Divise la chaîne en tableau de chaînes
toLowerCase()Conversion de la chaîne en minuscules
toUpperCase()Conversion de la chaîne en majuscules
valueOf()Retourne la représentation en chaîne de caractères de données spécifiées

Laissons-nous donner quelques exemples.

Exemple1:Java recherche la longueur de la chaîne

class Main {
  public static void main(String[] args) {
    //Créer une chaîne
    String greet = "Hello! World";
    System.out.println("La chaîne est: "); + greet);
    //vérifie la longueur de la chaîne
    System.out.println("La longueur de la chaîne de caractères : ", + greet.length());
  }
}

Résultat de la sortie

La chaîne est: Hello! World
La longueur de la chaîne de caractères : 12

Dans l'exemple précédent, nous avons créé une chaîne de caractères nommée greet. Ici, nous avons utilisé la méthode length() pour obtenir la taille de la chaîne de caractères.

Exemple2: Java utilise concat() pour joindre deux chaînes de caractères

class Main {
  public static void main(String[] args) {
    //Créer une chaîne
    String greet = "Hello! ";
    System.out.println("première chaîne de caractères: ") + greet);
    String name = "World";
    System.out.println("deuxième chaîne de caractères: ") + name);
    //joindre deux chaînes de caractères
    String joinedString = greet.concat(name);
    System.out.println("chaîne de caractères jointe: ") + joinedString);
  }
}

Résultat de la sortie

première chaîne de caractères: Hello!
deuxième chaîne de caractères: World
chaîne de caractères jointe: Hello! World

Dans l'exemple précédent, nous avons créé2deux chaînes de caractères nommées greet et name.

Ici, nous avons utilisé la méthode concat() pour joindre les chaînes de caractères. Par conséquent, nous obtenons une nouvelle chaîne de caractères nommée joinedString.

Dans Java, nous pouvons également utiliser + les opérateurs pour joindre deux chaînes de caractères.

Exemple3: Utilisation+l'opérateur de concaténation en Java

class Main {
  public static void main(String[] args) {
    //Créer une chaîne
    String greet = "Hello! ";
    System.out.println("première chaîne de caractères: ") + greet);
    String name = "World";
    System.out.println("deuxième chaîne de caractères: ") + name);
    //joindre deux chaînes de caractères
    String joinedString = greet + name;
    System.out.println("chaîne de caractères jointe: ") + joinedString);
  }
}

Résultat de la sortie

première chaîne de caractères: Hello!
deuxième chaîne de caractères: World
chaîne de caractères jointe: Hello! World

Ici, nous avons utilisé+les opérateurs pour joindre deux chaînes de caractères.

Exemple4: Comparaison de deux chaînes de caractères en Java

class Main {
  public static void main(String[] args) {
    //Créer une chaîne de caractères s
    String first = "java programming";
    String second = "java programming";
    String third = "python programming";
    //Comparer la première chaîne de caractères et la deuxième chaîne de caractères
    boolean result1 = first.equals(second);
    System.out.println("La première et la deuxième chaînes de caractères sont égales: ") + result1);
    //Comparer la première et la troisième chaînes de caractères
    boolean result2 = first.equals(third);
    System.out.println("La première et la troisième chaînes de caractères sont égales: ") + result2);
  }
}

Résultat de la sortie

La première et la deuxième chaînes de caractères sont égales: true
La première et la troisième chaînes de caractères sont égales: false

Dans l'exemple précédent, nous avons utilisé la méthode equals() pour comparer les valeurs de deux chaînes de caractères.

Si deux chaînes de caractères sont identiques, cette méthode retourne true, sinon elle retourne false.

RemarqueNous pouvons également utiliser l'opérateur == et la méthode compareTo() pour comparer2un ensemble de chaînes.

Exemple5:Obtention de caractères à partir de chaînes Java

class Main {
  public static void main(String[] args) {
    //Création d'une chaîne en utilisant le littéral de chaîne
    String greet = "Hello! World";
    System.out.println("La chaîne est: "); + greet);
    //Retourne la position3le caractère à la position
    System.out.println("Position ");3le caractère à la position: " + greet.charAt(3));
    //Retourne la position7le caractère à la position
    System.out.println("Position ");7le caractère à la position: " + greet.charAt(7));
  }
}

Résultat de la sortie

La chaîne est: Hello! World
Position3le caractère à la position: l
Position7le caractère à la position: W

Dans l'exemple précédent, nous avons utilisé la méthode charAt() pour accéder aux caractères à une position spécifique.

Exemple6:Autres méthodes de chaînes Java

class Main {
  public static void main(String[] args) {
    //Création d'une chaîne en utilisant la clé new
    String example = new String("Hello! World");
    //Renvoie la sous-chaîne 'World'
    System.out.println("Utilisation de subString(): "); + example.substring(7));
    //Conversion de la chaîne en minuscules
    System.out.println("Utilisation de toLowerCase(): "); + example.toLowerCase());
    //Conversion de la chaîne en majuscules
    System.out.println("Utilisation de toUpperCase(): "); + example.toUpperCase());
    //Remplacement du caractère '!' par 'o'
    System.out.println("Utilisation de replace(): "); + example.replace('!', 'o'));
  }
}

Résultat de la sortie

Utilisation de subString(): World
Utilisation de toLowerCase(): hello! world
Utilisation de toUpperCase(): HELLO! WORLD
Utilisation de replace(): Helloo World

Dans l'exemple précédent, nous avons créé une chaîne nommée 'example' en utilisant la clé new.

Ici,

  • La méthode substring() renvoie la chaîne 'World'

  • La méthode toLowerCase() convertit une chaîne de caractères en minuscules

  • La méthode toUpperCase() convertit une chaîne de caractères en majuscules

  • La méthode replace() remplace le caractère '!' par 'o'.

Les caractères d'échappement dans les chaînes

Les chaînes en Java utilisentGuillemets doublesReprésenter.

//Créer une chaîne
String example = "This is a string";

Maintenant, si nous voulions inclureGuillemets doubles。Par exemple,

//La chaîne contient des guillemets doubles
String example = "This is the "String" class";

Cela entraînera une erreur. Parce qu'en utilisantGuillemets doublesPour représenter une chaîne. Par conséquent, l'interpréteur le "This is the " considère comme une chaîne.

Pour résoudre ce problème, on utilise les caractères d'échappement (\) en Java. Maintenant, nous pouvons inclureGuillemets doubles,comme suit :

//Utiliser les caractères d'échappement
String example = "This is the \"String\" class.";

Les caractères d'échappement indiquent à l'interpréteur de compilerGuillemets doublesEt lire tout le texte.

Les chaînes en Java sont immuables

En Java, créer une chaîne signifie créer un objet de la classe string.Il est impossible de modifier une chaîne en Java lors de sa création.C'est pourquoi on appelle les chaînes en JavaImmutablesRaison.

Pour mieux comprendre cela, regardons un exemple :

//Créer une chaîne
String example = "Hello!";

Ici, nous avons créé un objet de chaîne "Hello!". Après sa création, nous ne pourrons pas le modifier.

Supposons maintenant que nous voulions modifier la chaîne.

//Ajouter une autre chaîne à cette chaîne
example = example.concat(" World");

Ici, nous essayons d'ajouter une nouvelle chaîne à la chaîne précédente.

Comme les chaînes sontImmutablesCela devrait entraîner une erreur. Mais c'est très bien.

Il semble que nous puissions modifier la chaîne. Mais ce n'est pas le cas. Regardons ce qui se passe réellement ici.

Nous avons une chaîne "Hello!" référencée par une variable nommée example. Maintenant, en exécutant le code ci-dessus,

  • La JVM accepte la chaîne "Hello!"

  • Ajouter la chaîne "World" à elle

  • Cela créera une nouvelle chaîne "Hello! World"

  • La variable example pointe vers la nouvelle chaîne

  • La chaîne précédente "Hello!" reste inchangée

Remarque:à chaque fois qu'une nouvelle chaîne est créée et référencée par une variable.

Créer une chaîne en utilisant la clé de mots-clés new

Jusqu'à présent, nous avons créé des chaînes similaires aux types de base en Java. Cependant, comme les chaînes en Java sont des objets, nous pouvons également les créer en utilisant la clé de mots-clés new. Par exemple,

//Creating a string using the new keyword
String name = new String("java string");

In the above example, we used the new keyword and the constructor String() to create a string.

The String class provides various other constructors to create strings.

Now, let's see how the process of creating a string is different from the previous process.

Differences between using string literals and the new keyword

Now that we know how to create strings using string literals and the new keyword, let's see what the main differences between them are.

 In Java, the JVM maintains a string pool to store all strings in memory. The string pool helps to reuse strings.

 When creating a string using string literals, the value of the string is provided directly. Therefore, the compiler first checks the string pool to see if the string already exists.

  • If the string already existsno new string will be created. Instead, the new reference points to the existing string.

  • If the string does not existthen create a new string.

 However, when creating a string using the new keyword, the value of the string is not provided directly. Therefore, a new string is always created.