English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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éthode | Description |
---|---|
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.