1 – Les chaînes de caractères Java
On appelle chaîne toute suite de caractères contiguës , exemple ” bonjour ” est une chaîne de longueur 7 ( longueur de la chaîne = nombre de caractères de la chaîne ). Une chaîne est peut être considérée comme une variable du langage Java et est déclarée à l’aide de l’instruction String.
String maChaine = "bonjour" ;
//déclaration d'une chaine de caractère nommée maChaine et de valeur = "bonjour"
D’une façon plus générale, une chaine de caractère est un objet associé à la classe String
Exemple
String maChaine = new String("bonjour");
//création de l'objet du type String maChaine
Exemple ( concaténation de chaines de caractères)
String auto="auto";
String bus="bus";
System.out.println(auto+bus); // ce qui affiche "autobus "
3 – Les méthodes associées à la classe String
Une chaine est un objet du type String, et comme un objet java est doté d’un certain nombre de méthodes et propriétés, un objet String est lui même équipé de pas mal de méthodes permettant de faire de nombreuse opérations : calcul de la longueur d’une chaine, tester si une chaine contient ou non un caractère ou une sous chaine, extraire une sous chaine… En voici un recueil de ces méthodes :
- char charAt(int index):retourne le caractère qui se trouve à index. (Le premier caractère se trouve à l’index 0). Cette méthode renvoie une exception de type IndexOutOfBoundsException.
- int compareTo(String chaine_a_comparer) : compare les deux String alphabétiquement.
- int compareToIgnoreCase(String chaine): compare deux String alphabétiquement, en ignorant la casse.
- boolean contains(char s): retourne true seulement si la chaine contient la même séquence de caractères. Cette méthode renvoie une exception de type NullPointerException.
- boolean startsWith(String prefix): renvoie true si la chaine commence par prefix.
- boolean endsWith(String suffixe): retourne true si la chaine se termine par suffixe.
- boolean equals(Object autre_obj): compare la chaine avec autre_obj.
- int indexOf(int ch [, int index]): retourne l’index de la première occurrence du caractère ch. Si index est indiqué, la recherche commence à partir de cet index.
- int indexOf(String s [, int index]): retourne l’index de la première occurrence de la chaine s. Si index est indiqué, la recherche commence à partir de cet index.
- int lastIndexOf(int ch [, int fromIndex]):retourne l’index de la dernière occurrence du caractère ch. Si index est indiqué, la recherche commence à partir de cet index.
- int lastIndexOf(String str [, int fromIndex]): retourne l’index de la dernière occurrence de la chaine s. Si fromIndex est indiqué, la recherche commence à partir de cet index.
- int length(): retourne la taille de la chaine.
- boolean isEmpty(): retourne true si la taille de la chaine est égale à 0.
- boolean matches(String regex): retourne true si la chaine correspond à l’expression régulière regex. Cette méthode renvoie une exception de type PatternSyntaxException.
- String concat(String chaine): concatène la chaine chaine à la fin de la chaine qui appelle la méthode.
- String replace(char ancien, char nouveau): remplace toutes les occurrences de ancien par nouveau, puis renvoie la chaine modifiée.
- String replaceAll(String regex, String nouveau):v remplace toutes les occurrences correspondant à l’expression régulière regex par nouveau, puis renvoie la chaine modifiée. Cette méthode renvoie une exception de type PatternSyntaxException.
- String replaceFirst(String regex, String nouveau): remplace la première occurrence correspondant à l’expression régulière regex par nouveau, puis renvoie la chaine modifiée. Cette méthode renvoie une exception de type PatternSyntaxException.
- String[] split(String regex): découpe la chaine en utilisant l’expression régulière regex. Cette méthode renvoie une exception de type PatternSyntaxException.
- String substring(int debut): retourne une nouvelle String qui contient les caractères compris entre debut et la fin de la String. Cette méthode renvoie une exception de type IndexOutOfBoundsException.
- String substring(int debut, int fin): retourne une nouvelle String qui contient les caractères compris entre debut et fin. Cette méthode renvoie une exception de type IndexOutOfBoundsException.
- String toLowerCase(): convertit l’ensemble des caractères en minuscules.
- String toUpperCase(): convertit l’ensemble des caractères en majuscules.
- String trim(): retourne la String sans les espaces au début et à la fin.
Exemple
String b="bonjour";
String b1=b.Substring(0,3);
//Cet exemple extrait de la chaine b une sous chaine b1= "bon"
Exemple
String chaine1 = "Antihypertenseur";
String chaine2 =chaine1.substring(4,9);
System.out.println(chaine2);
// revoie la sous chaine "hyper"
Exemple
String s="bonjour";
if (s.startsWith("bon")){
System.out.println("La chaine de caractère s commence par \"bon\" ");
}
else {
System.out.println("La chaine de caractère s ne commence pas par \"bon\" ");
}
//Affiche à l'écran le message : 'La chaine de caractère s commence par "bon"'
Exemple
String s1="depart";
String s2="arrivée";
if (s1.endsWith("rt")){
System.out.println("La chaine s1 se termine par \"rt\" ");
}
else {
System.out.println("La chaine s1 ne se termine pas par \"rt\" ");
}
// Affiche le message : 'La chaine s1 se termine par "rt" '
if (s2.endsWith("ve")){
System.out.println("La chaine s2 se termin par \"ve\" ");
}
else {
System.out.println("La chaine s2 ne se termine pas par \"ve\" ");
}
// Affiche le message : '