Partielo | Créer ta fiche de révision en ligne rapidement

Sans titre

Représentation 1: sous forme d’un tableau de char.

Chaque caractère est placé dans une case du tableau

sans utiliser de caractères spéciaux comme le '\0'

 

Inconvénients: pas de possibilité d'utiliser des méthodes de manipulation standard de chaînes.

Représentation rarement utilisée

Représentation 2 : en tant qu’objet de la classe String

 

 

 

 

 

 


17


Exemple:

 

 

class TableauChar

{

public static void main(String[ ] arg)

{

char[ ] tableau; tableau = new char[4]; tableau[0] = 'J';

tableau[1] = 'A';

tableau[2] = 'V';

tableau[3] = 'A'; System.out.println(tableau); //affiche : JAVA

}

}

 

 


18


1.1.    La classe String

JAVA offre dans sa librairie (API) la classe String, très riche en fonctionnalités

La classe String offre des objets constants de chaînes.

Sert à manipuler des chaînes de caractère non modifiables

 

 

 

Déclaration :

//Une 1ère Déclaration possible

String prenom = new String("Pierre");

Vu son utilisation intensive

//Une 2ère Déclaration très utilisée

String prenom = "Pierre";

 

 

 

 


19


 

Un objet String est constant:

o une fois défini, sa valeur ne peut être modifiée.

o En revanche, on peut lui attribuer une nouvelle chaîne de caractères.


 

String msg = "Bonjour!";

//on peut ensuite lui affecter une autre chaîne

msg = "nouveau msg";

 

la chaîne "Bonjour!" est oubliée et l’objet msg pointe sur une autre chaîne

 

 

 

 

 

 


20


 

Concaténation de chaînes:

o 1er cas : utiliser la méthode concat

String s3 = s1.concat(s2);

 


o 2ème cas : utiliser le signe d'addition + pour effectuer une concaténation :

String mot = message + " et " + "puis s'en vont";

 


o 3ème cas : utiliser le symbole +=

String mot += s1 ;

 

 

 

21


 


class TestString {

public static void main(String [] args)

{ //création et initialisation String ch1,ch2, ch3; ch1="Programmation"; ch2=ch1;

System.out.println("ch1: " +ch1);//Programmation System.out.println("ch2: " +ch2);//Programmation

//Concaténation

ch1+=" en JAVA";                             //Création d'un nouvel objet

 

System.out.println("ch1: " +ch1);//Programmation en JAVA

System.out.println("ch2: " +ch2);//Programmation

 

 

Scanner s = new Scanner (System.in);

ch3 = s.nextLine (); //encore un nouvel objet

}                                          22


Comparaison de chaînes:

 

o L’instruction :

if (str1 == str2) ... //pas d’erreur

 

Ne compare pas si les deux chaînes sont égales, mais si str1 et str2 pointent vers le même objet.

 

 

 

 

 

 

23


Une comparaison de contenus de chaînes :

if (str1.equals(str2)) ...

 

ou encore: str1.compareTo(str2);

CompareTo retourne la valeur :

-            

0 si les deux chaînes sont égales,

-            < 0 si str1 < str2,

-            >0 si str2 < str1.

 

 

 

 

 

 

 

 

 

 

 

 


24


Remarques :

o La méthode equalsIgnoreCase a le même rôle que

equals

mais sans tenir compte de la différence de casse (maj. et miniscule)

 

oL’utilisation des opérateurs >, >=, <, <= est interdite


Longueur d’une chaîne: length()

 

Par exemple, msg.length() .

 

Accès à un caractère de la chaîne: charAt(index)

retourne le caractère spécifié de la chaîne spécifiée.

Par exemple, msg.charAt(1) .



Remarque : Le paramètre index peut avoir une valeur comprise entre 0 et msg.length() - 1.


Conversions diverses

o Bien que le contenu d'une chaîne ne puisse pas être modifié, il est possible d'effectuer des conversions en créant une nouvelle chaîne.

 

Les méthodes toLowerCase et toUpperCase permettent d'obtenir une chaîne respectivement en minuscules et en majuscules.

 

n

La méthode trim permet d'obtenir une nouvelle chaîne sans espaces au début ou à la fin.


n

La méthode replace(oldChar, newChar) permet de remplacer tous les caractères oldChar d'une chaîne par des caractères newChar.


Conversion de caractères, tableaux, entier, etc. vers

chaîne de caractères

valueOf : permet de convertir un caractère, un tableau de caractères et des valeurs numériques en chaînes de caractères.

Ces méthodes ont le même nom, mais se différencient par le type de paramètre qui leur est fourni (char, char[], double, long, int, float, etc.)

String valueOf(boolean b) String valueOf(char c) String valueOf(char[] data) String valueOf(double d) String valueOf(float f) String valueOf(int i)

StringvalueOf(long l)                 28


public class Test{

public static void main(String args[])

{ double d = 102939939.939; boolean b = true;

long l = 1232874;

char[]arr ={'a', 'b', 'c', 'd', 'e‘,'f','g' }; System.out.println("Val:"+ String.valueOf(d) ); System.out.println("Val: " + String.valueOf(b) );

System.out.println("Val: " + String.valueOf(l) );

System.out.println("Val: " + String.valueOf(arr));

} }


 

Autres méthodes offertes

 

 


o int indexOf(char ch) : retourne l'indice de la première occurrence de ch (considéré comme un caractère) dans la chaîne (ou –1)


o int indexOf(String str) : retourne l'indice du premier caractère de la première occurrence de str dans la chaîne (ou –1)


 

1.2.    La classe StringBuffer

 

Offre des objets chaînes modifiables : contenu modifiable

o Plus flexible que le type string

 

Les opérateur + (et +=) sont interdits avec les objets de cette classe

Création : 3 constructeurs possibles:

o public StringBuffer() : une chaîne vide de taille 16 car

o public StringBuffer(int longueur) : une chaîne vide d'une capacité indiquée par longueur.

o public StringBuffer(String str) : une chaîne recevant le paramètre str. La capacité de la chaîne est 16 plus la longueur de str.


 

 

Autres fonctionnalités offertes par la classe StringBuffer :

o int length() : retourne la longueur de la chaîne

 

o void setlenght (int newLong) : permet de spécifier la longueur d'un StringBuffer.

 

o int capacity() : retourne la taille du tableau associé



o StringBuffer append(char c) : ajoute le caractère c à la fin de la chaîne

o StringBuffer append(String str) : ajoute le contenu de l'objet str

à la fin de la chaîne

o StringBuffer append(char str[]) : ajoute le contenu du tableau str

à la fin de la chaîne


o StringBuffer insert(int i, char c) : insère le caractère c à la position i de la chaîne

 

o StringBuffer insert(int i, String str) : insère le contenu de l'objet

str à la position i de la chaîne

 

o StringBuffer reverse() : inverse la chaîne


 

Remarque :

La méthode append cache plusieurs méthodes du même nom permettant d'ajouter des expressions de type char, char[ ], double, float, int, long, et String.


 

 

Exemple:

 

StringBuffer st = new StringBuffer(); st.append("Cours");

st.append(" ");

st.append("de ");

st.append("Java .");

st.insert(9, "HTML et ");

 

Þ Un StringBuffer évolue dynamiquement.

Þ Si on augmente la longueur de son contenu, l'espace mémoire alloué est automatiquement augmenté.


Sans titre

Représentation 1: sous forme d’un tableau de char.

Chaque caractère est placé dans une case du tableau

sans utiliser de caractères spéciaux comme le '\0'

 

Inconvénients: pas de possibilité d'utiliser des méthodes de manipulation standard de chaînes.

Représentation rarement utilisée

Représentation 2 : en tant qu’objet de la classe String

 

 

 

 

 

 


17


Exemple:

 

 

class TableauChar

{

public static void main(String[ ] arg)

{

char[ ] tableau; tableau = new char[4]; tableau[0] = 'J';

tableau[1] = 'A';

tableau[2] = 'V';

tableau[3] = 'A'; System.out.println(tableau); //affiche : JAVA

}

}

 

 


18


1.1.    La classe String

JAVA offre dans sa librairie (API) la classe String, très riche en fonctionnalités

La classe String offre des objets constants de chaînes.

Sert à manipuler des chaînes de caractère non modifiables

 

 

 

Déclaration :

//Une 1ère Déclaration possible

String prenom = new String("Pierre");

Vu son utilisation intensive

//Une 2ère Déclaration très utilisée

String prenom = "Pierre";

 

 

 

 


19


 

Un objet String est constant:

o une fois défini, sa valeur ne peut être modifiée.

o En revanche, on peut lui attribuer une nouvelle chaîne de caractères.


 

String msg = "Bonjour!";

//on peut ensuite lui affecter une autre chaîne

msg = "nouveau msg";

 

la chaîne "Bonjour!" est oubliée et l’objet msg pointe sur une autre chaîne

 

 

 

 

 

 


20


 

Concaténation de chaînes:

o 1er cas : utiliser la méthode concat

String s3 = s1.concat(s2);

 


o 2ème cas : utiliser le signe d'addition + pour effectuer une concaténation :

String mot = message + " et " + "puis s'en vont";

 


o 3ème cas : utiliser le symbole +=

String mot += s1 ;

 

 

 

21


 


class TestString {

public static void main(String [] args)

{ //création et initialisation String ch1,ch2, ch3; ch1="Programmation"; ch2=ch1;

System.out.println("ch1: " +ch1);//Programmation System.out.println("ch2: " +ch2);//Programmation

//Concaténation

ch1+=" en JAVA";                             //Création d'un nouvel objet

 

System.out.println("ch1: " +ch1);//Programmation en JAVA

System.out.println("ch2: " +ch2);//Programmation

 

 

Scanner s = new Scanner (System.in);

ch3 = s.nextLine (); //encore un nouvel objet

}                                          22


Comparaison de chaînes:

 

o L’instruction :

if (str1 == str2) ... //pas d’erreur

 

Ne compare pas si les deux chaînes sont égales, mais si str1 et str2 pointent vers le même objet.

 

 

 

 

 

 

23


Une comparaison de contenus de chaînes :

if (str1.equals(str2)) ...

 

ou encore: str1.compareTo(str2);

CompareTo retourne la valeur :

-            

0 si les deux chaînes sont égales,

-            < 0 si str1 < str2,

-            >0 si str2 < str1.

 

 

 

 

 

 

 

 

 

 

 

 


24


Remarques :

o La méthode equalsIgnoreCase a le même rôle que

equals

mais sans tenir compte de la différence de casse (maj. et miniscule)

 

oL’utilisation des opérateurs >, >=, <, <= est interdite


Longueur d’une chaîne: length()

 

Par exemple, msg.length() .

 

Accès à un caractère de la chaîne: charAt(index)

retourne le caractère spécifié de la chaîne spécifiée.

Par exemple, msg.charAt(1) .



Remarque : Le paramètre index peut avoir une valeur comprise entre 0 et msg.length() - 1.


Conversions diverses

o Bien que le contenu d'une chaîne ne puisse pas être modifié, il est possible d'effectuer des conversions en créant une nouvelle chaîne.

 

Les méthodes toLowerCase et toUpperCase permettent d'obtenir une chaîne respectivement en minuscules et en majuscules.

 

n

La méthode trim permet d'obtenir une nouvelle chaîne sans espaces au début ou à la fin.


n

La méthode replace(oldChar, newChar) permet de remplacer tous les caractères oldChar d'une chaîne par des caractères newChar.


Conversion de caractères, tableaux, entier, etc. vers

chaîne de caractères

valueOf : permet de convertir un caractère, un tableau de caractères et des valeurs numériques en chaînes de caractères.

Ces méthodes ont le même nom, mais se différencient par le type de paramètre qui leur est fourni (char, char[], double, long, int, float, etc.)

String valueOf(boolean b) String valueOf(char c) String valueOf(char[] data) String valueOf(double d) String valueOf(float f) String valueOf(int i)

StringvalueOf(long l)                 28


public class Test{

public static void main(String args[])

{ double d = 102939939.939; boolean b = true;

long l = 1232874;

char[]arr ={'a', 'b', 'c', 'd', 'e‘,'f','g' }; System.out.println("Val:"+ String.valueOf(d) ); System.out.println("Val: " + String.valueOf(b) );

System.out.println("Val: " + String.valueOf(l) );

System.out.println("Val: " + String.valueOf(arr));

} }


 

Autres méthodes offertes

 

 


o int indexOf(char ch) : retourne l'indice de la première occurrence de ch (considéré comme un caractère) dans la chaîne (ou –1)


o int indexOf(String str) : retourne l'indice du premier caractère de la première occurrence de str dans la chaîne (ou –1)


 

1.2.    La classe StringBuffer

 

Offre des objets chaînes modifiables : contenu modifiable

o Plus flexible que le type string

 

Les opérateur + (et +=) sont interdits avec les objets de cette classe

Création : 3 constructeurs possibles:

o public StringBuffer() : une chaîne vide de taille 16 car

o public StringBuffer(int longueur) : une chaîne vide d'une capacité indiquée par longueur.

o public StringBuffer(String str) : une chaîne recevant le paramètre str. La capacité de la chaîne est 16 plus la longueur de str.


 

 

Autres fonctionnalités offertes par la classe StringBuffer :

o int length() : retourne la longueur de la chaîne

 

o void setlenght (int newLong) : permet de spécifier la longueur d'un StringBuffer.

 

o int capacity() : retourne la taille du tableau associé



o StringBuffer append(char c) : ajoute le caractère c à la fin de la chaîne

o StringBuffer append(String str) : ajoute le contenu de l'objet str

à la fin de la chaîne

o StringBuffer append(char str[]) : ajoute le contenu du tableau str

à la fin de la chaîne


o StringBuffer insert(int i, char c) : insère le caractère c à la position i de la chaîne

 

o StringBuffer insert(int i, String str) : insère le contenu de l'objet

str à la position i de la chaîne

 

o StringBuffer reverse() : inverse la chaîne


 

Remarque :

La méthode append cache plusieurs méthodes du même nom permettant d'ajouter des expressions de type char, char[ ], double, float, int, long, et String.


 

 

Exemple:

 

StringBuffer st = new StringBuffer(); st.append("Cours");

st.append(" ");

st.append("de ");

st.append("Java .");

st.insert(9, "HTML et ");

 

Þ Un StringBuffer évolue dynamiquement.

Þ Si on augmente la longueur de son contenu, l'espace mémoire alloué est automatiquement augmenté.

Retour

Actions

Actions