Académique Documents
Professionnel Documents
Culture Documents
Les chaînes de
caractères
1
Les chaînes de caractères
1 - Introduction
Déclaration : Bonjour
String ch;
ch="Bonjour"; ch
On aboutit à cette situation
2 – Manipulation des références :
Bonjour
ch1
ch=ch1;ch1=ch2;ch2=ch; ch2 Bonsoir
5 – Concaténation de chaînes :
La concaténation de chaîne se fait par l'opérateur +.
String ch1="Le langage";
String ch2=" Java";
String ch3=ch1+ch2; //ch3 contient la chaîne "Le langage Java"
ch3=ch1+" C++"; //ch3 contient la chaîne "Le langage C++"
Exemple 2
int n=26;
String prix=new String("prix : ");
String monnaie="DH";
String resul=prix+n+monnaie;
System.out.println(resul);
Ce programme affiche :
prix : 26DH
Exemple 3 :
2
String ch="Bonjour";
ch+="monsieur";//ch contient la chaîne "Bonjour monsieur"
Exemple 4 :
String ch="chiffres = ";
for(int i=0;i<=9;i++)
ch+=i;
System.out.print(ch);
Ce programme affiche :
chiffres = 0123456789
La méthode lastIndexOf( ) effectue les mêmes recherches, mais en examinant la chaîne depuis sa fin.
Exemple
n=mot.lastIndexOf('t'); //n=24
n=mot.lastIndexOf("ti"); //n=12
Exercice d'application :
Ecrire un programme utilisant la méthode indexOf( ) pour compter le nombre de caractères 'e' présents dans
un mot entré au clavier.
Récrire le programme mais cette fois, on cherche le nombre d’apparition d'un mot dans une phrase.
7 – Comparaisons de chaînes
7 – 1 – La méthode equals( )
La méthode equals( ) compare le contenu de deux chaînes et retourne la valeur True ou False.
Exemple
String ch1="hello";
String ch2="bonjour";
ch1.equals(ch2); //cette expression est fausse
ch1.equals("hello");//cette expression est vraie
7 – 2 – La méthode equalsIgnoreCase( )
Cette méthode effectue la même comparaison que equals( ), mais sans distinguer les majuscules.
Exemple :
String ch1="hello";
String ch2="HeLlo";
ch1.equalsIgnoreCase(ch2); //cette expression est vraie
7 – 3 – La méthode compareTo( )
La méthode compareTo( ) s'utilise ainsi :
chaîne1.compareTo(chaîne2)
Elle fournit :
un entier négative si chaîne1 arrive avant chaîne2
un entier nul si chaîne1 et chaîne2 sont égales
un entier positif si chaîne1 arrive après chaîne2
3
Bonjour Monsieur Négative
Bon Bonjour Négative
Paris2 Paris1 Positif
11 – Tableaux de chaînes
String tab[]=new String[4]; //creeation d'un tableau de type String
//ou
String tab[]={"mot1","mot2","mot3","mot4"};
Exemple :
public class TstChaine {
public static void main(String[] args) {
String tab[]={"C","C++","Java","Fortran","Pascal","PHP"};
for(int i=0;i<tab.length;i++)
System.out.print(" "+tab[i]);
}
}
Exercice :
Ecrire un programme qui permet de classer les noms des élèves d'une classe selon l'ordre alphabétique.
4
System.out.print(nd);
Exercices d'application :
1) Écrire un programme qui lit une chaîne au clavier et qui en affiche :
un caractère sur deux (le premier étant affiché),
le premier et le dernier caractère.
Exemple :
donnez une chaine : java est plus portable que C++
un caractere sur deux : jv s lspral u +
Premier caractere = j
Dernier caractere = +
3) Écrire un programme qui permet de saisir le nom et le prénom et affiche le nom et le premier
caractère du prénom en majuscule et le reste en miniscule.
4) Écrire un programme qui lit au clavier un verbe du premier groupe (il s’assurera qu’il est bien
terminé par er) et qui en affiche la conjuguaison au présent de l’indicatif. On supposera qu’il s’agit
d’un verbe régulier.Autrement dit, on admettra que l’utilisateur ne fournit pas un verbe tel que
manger (dans ce cas, le programme affichera nous mangons !). Les résultats se présenteront ainsi :
donnez un verbe regulier du premier groupe : dire
*** il ne se termine pas par er - donnez-en un autre : chanter
je chante
tu chantes
il/elle chante
nous chantons
vous chantez
ils/elles chantent