Courte introduction au type String
Il existe en java un type des chaines de caractéres. Ce type s’appelle String et les valeurs de ce type sont des objets. Nous verrons plus tard dans le cours ce que sont les objets, comment on les crée, etc. Pour l’instant, nous allons juste presenter trés rapidement comment on peut utiliser des chaınes de caracteres dans les exercices et exemples que nous traitons.
On peut utiliser le type String pour declarer des variables ou des parametres de methodes ou encore des tableaux, exactement comme on utilise les autres types comme int ou boolean.
Les valeurs constantes du type s’ecrivent avec des doubles quotes. Par exemple « Bonjour » est une chaine de caracteres. Si l’on veut ecrire une chaine comprennant des doubles quotes, il faut les faire preceder d’un caractere barre oblique : « on m’appelle \ »toto\ »! ».
Utilisation de methodes
On peut utiliser des methodes specifiques pour les chaınes de caracteres au moyen d’une syntaxe nouvelle pour nous. Cette syntaxe c’est : une valeur de type string, un point, le nom de la methode et les parametres entre parentheses. Par exemple, on peut utiliser la methode length (qui n’a aucun parametre) pour connaıtre la longueur de la chaine. En voici un exemple.
Listing 8.1 – (lien vers le code brut) 1 publ i c c l a s s Me t h o d e St r i n g{ 2 publ i c s t a t i c voi d mai n ( S t r i n g [ ] a r g s ) { 3 S t r i n g s = ” l a c h a i n e 1 ” ; 4 i n t x ; 5 x = s . l e n g t h ( ) ; 6 Te r mi n a l . e c r i r e S t r i n g l n ( ” La l o n g u e u r de l a c h a i n e \” ”+s 7 + ” \” e s t ” + x ) ; 8 x = ” une a u t r e c h a i n e ” . l e n g t h ( ) ; 9 Te r mi n a l . e c r i r e S t r i n g l n ( ” La l o n g u e u r de l ’ a u t r e c h a i n e e s t ” + x ) ; 10 x = ( ” Br a ” + ” vo ” ) . l e n g t h ( ) ; 11 Te r mi n a l . e c r i r e S t r i n g l n ( ” La l o n g u e u r de Br avo e s t ” + x ) ; 12 } 13 }
Egalite de chaınes
La seule chose un peu differente par rapport aux types que nous avons vus jusqu’ici est que les tests de comparaison == et != donnent parfois des resultats surprenants quand on les utilise avec des chaines. Pour comparer des chaınes de caracteres, il est preferable d’utiliser la methode equals ou la negation de cette méthode, comme illustré dans l’exemple ci-dessous.
Listing 8.3 – (lien vers le code brut) 1 publ i c c l a s s ExChai ne { 2 publ i c s t a t i c voi d mai n ( S t r i n g [ ] a r g s ) { 3 S t r i n g s 1 = ” Bo n j o u r ” ; 4 S t r i n g s 2 = ”C’ e s t \” b i e n \” ” ; 5 S t r i n g s 3 ; 6 S t r i n g [ ] t s = { ” Pa u l ” , ” Andr e ” , ” J a c q u e s ” , ” Od e t t e ” } ; 7 Te r mi n a l . e c r i r e S t r i n g l n ( s 2 ) ; 8 Te r mi n a l . e c r i r e S t r i n g ( ” En t r e z une c h a i n e : ” ) ; 9 s 3 =Te r mi n a l . l i r e S t r i n g ( ) ; 10 Te r mi n a l . e c r i r e S t r i n g l n ( ” s 3 : ” + s 3 ) ; 11 s 2 = ”Bon” ; 12 s 3 = s 2 + ” j o u r ” ; 13 i f ( s 1 ! = s 3 ) {