# La classe String en Java : syntaxe et fonctionnement

Les *strings* Java font partie des [types de données complexes en Java](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/types-de-donnees-java/). Ils sont utilisés pour représenter et traiter une séquence de plusieurs caractères ou chiffres. Ce traitement s’effectue à l’aide de différentes méthodes.

## Qu’est-ce qu’un string en Java ?

Le langage de programmation Java connaît de nombreux types de données différents. Parmi les plus importants, on trouve, outre les [primitives Java](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/java-primitives/) comme les entiers ou les char, les strings Java. Un string est une **chaîne de caractères ou de chiffres** qui existe en tant qu’objet dans la classe *java.lang*. Elle est créée avec la classe *String* et est alors finale et immuable. Malgré cette contrainte, les strings sont plus souvent utilisés en Java que dans son alternative [Java StringBuilder](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/stringbuilder-en-java/), où ils peuvent être modifiés ultérieurement. Dans ce qui suit, nous vous expliquons comment un string est formé, et quelles méthodes vous pouvez utiliser pour en créer un.

## Syntaxe et fonctionnement

Si vous souhaitez créer un nouveau string en Java, vous pouvez recourir à la syntaxe suivante :

```java
String name = "string";
```

Vous signalez donc au système que vous souhaitez créer un string Java, vous lui donnez un nom et vous enregistrez ensuite ses valeurs de caractères **entre guillemets**. Si vous vous référez ultérieurement à la chaîne, vous l’adresserez par son nom. Voici un exemple pratique :

```java
public class Main {
    public static void main(String[] args) {
        String exemple = "Ceci est votre première chaîne Java.";
        System.out.println(exemple);
    }
```

La sortie est alors la suivante :

```java
Ceci est votre première chaîne Java.
```

## Méthodes pour les strings en Java

Comme un string Java est un objet, il existe différentes méthodes que vous pouvez lui appliquer. Voici les plus importantes.

### `length()`

La méthode `length()` est utilisée pour afficher le **nombre total de valeurs de caractères dans un string**. En réponse, vous obtenez donc la longueur de votre chaîne de caractères. Voici la syntaxe :

```java
stringName.length()
```

L’application est également très simple :

```java
public class Main {
    public static void main(String[] args) {
        String exemple = "Ceci est votre première chaîne Java.";
        int length = exemple.length();
        System.out.println("La chaîne contient " + length + " caractères.");
    }
}
```

Vous obtenez alors la sortie suivante :

```java
La chaîne contient 31 caractères.
```

### `indexOf()`

La méthode `indexOf()` peut être utilisée pour localiser un ou plusieurs **caractères dans le string Java**. Pour cela, utilisez la syntaxe suivante :

```java
stringName.indexOf()
```

Vous insérez la partie du texte que vous voulez localiser…

```java
public class Main {
    public static void main(String[] args) {
        String exemple = "Ceci est votre première chaîne Java.";
        System.out.println(exemple.indexOf("votre"));
    }
}
```

… et recevez en sortie la position où cette partie apparaît pour la première fois dans le texte :

```java
9
```

### `concat()`

Avec `concat()` **vous reliez deux strings séparés** en une seule nouvelle chaîne. Voici la syntaxe :

```java
stringName.concat(string1)
```

Voici à quoi ressemble cette méthode dans la pratique :

```java
public class Main {
    public static void main(String[] args) {
        String exemple = "Par ";
        String nouvelleChaine = exemple.concat("exemple");
        System.out.println(nouvelleChaine);
    }
}
```

Voici à quoi ressemble votre nouvelle sortie :

```java
Par exemple
```

### `equals()`

`equals()` est une méthode parmi d’autres qui vous permet de comparer deux strings Java. La méthode renvoie une **valeur booléenne** (`true` ou `false`) comme résultat. Voici sa syntaxe :

```java
string1.equals(string2)
```

Dans l’exemple suivant, nous déposons trois strings et comparons le premier avec les deux autres :

```java
public class Main {
    public static void main(String[] args) {
        String premierString = "ABC";
        String deuxiemeString = "ABC";
        String troisiemeString = "DEF";
        System.out.println(premierString.equals(deuxiemeString));
        System.out.println(premierString.equals(troisiemeString));
    }
}
```

Comme les deux premiers strings sont identiques et que le troisième est différent, vous obtenez cette sortie :

```java
true
false
```

### `toUpperCase()` et `toLowerCase()`

Les deux méthodes `toUpperCase()` et `toLowerCase()` servent à convertir les valeurs de caractères à l’intérieur d’un string Java **en majuscules ou en minuscules**. Voici leur syntaxe respective :

```java
stringName.toUpperCase()
stringName.toLowerCase()
```

Voici un exemple concret :

```java
public class Main {
    public static void main(String[] args) {
        String exemple = "Ceci est votre première chaîne Java.";
        System.out.println(exemple.toUpperCase());
        System.out.println(exemple.toLowerCase());
    }
}
```

Vous obtenez alors cette sortie :

```java
CECI EST VOTRE PREMIÈRE CHAÎNE JAVA.
ceci est votre première chaîne java.
```

### `split()`

Avec la méthode [Java `split()`](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/java-string-split/) **vous divisez un string Java en plusieurs sous-chaînes**. Voici la syntaxe :

```java
String[] split(String regex)
```

Voici une illustration :

```java
public class Main {
    public static void main(String[] args) {
        String x = "Ceci est votre première chaîne Java";
        String[] resultat = x.split(" ");
        for (String y : resultat) {
            System.out.println(y);
        }
    }
}
```

Et voici la sortie que vous obtiendrez :

```java
Ceci
est
votre
première
chaîne
Java
```


This is a markdown version of: [https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/java-strings/](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/java-strings/) for AI/LLM consumption.