Télécharger la présentation
1
Strings et Tableaux en Java
H Batatia
2
Objets particuliers Dans Java les chaînes de caractères et les tableaux sont des objets particuliers dans la forme de leur déclaration dans la manière de les créer
3
String Java vient avec deux classes pour créer et manipuler des chaînes String : crée des objets de taille fixe, leur création est flexible à utiliser quand les chaînes n'ont pas besoin de changer StringBuffer : crée des objets dont la taille peut varier à utiliser quand vous avez besoin d'insérer, substituer…des caractères
4
classe String Constructeurs public String()
public String(String value) public String(char[] value) public String(StringBuffer buffer) Méthodes de classe public static String copyValueOf(char[] data) public static String valueOf(Object data) public static String valueOf(boolean b) public static String valueOf(char c) public static String valueOf(int i) public static String valueOf(long l) public static String valueOf(float f) public static String valueOf(double d) Méthode d'instance public char charAt(int index) public int compareTo(String str) public boolean equals(Object o) public boolean equalsIgnoreCase(String str) public int indexOf(int ch) public int indexOf(String str) public int lastindexOf(int ch) public int lastIndexOf(String str) public int length() public String replace(char old,char new) public String substring(int i) public String toLowerCase() public String toString(); public String toUpperCase() public String trim()
5
Déclaration d'un String
String ref; Cette instruction crée une variable ref qui contient null; L'objet de type String n'existe pas encore.
6
Création d'un objet de type String
Par initialisation soit String s; s = "Une chaîne"; ou String s = "Une autre chaîne"; Par opérateur new s = new String(); String s = new String(); String s = new String ("ma chaîne");
7
Les objets String sont immuables
Après sa création, le contenu d'un objet String ne peut pas changer aucune méthode ne peut changer ses caractères Attention! la référence à un objet String peut changer pour pointer vers un autre String String s = "Ceci"; s = "Cela"; p = "Ceci et "; p = p + s; s Ceci Cela p Ceci et Ceci et cela
8
Exercice Utilisez les méthodes length() et charAt()
Ecrire un programme Java permettant de lire une chaîne (exemple « lire chaîne ») inverse la chaîne (exemple « enîahc eril ») imprime la chaîne inversée Utilisez les méthodes length() et charAt()
9
Exercice Utilisez les méthodes length() , indexOf()
Ecrire un programme Java permettant de lire une chaîne Compter le nombre et la position des espaces Afficher le nombre et les positions des espaces Utilisez les méthodes length() , indexOf()
10
Exercice Utiliser les méthodes suivantes :
Ecrire un programme Java permettant de lire une phrase inverse chaque mot de la phrase imprime les mots inversés Utiliser les méthodes suivantes :
11
méthodes de String pour l'inversion de chaînes
public int indexOf (int car) renvoie l'indice du caractère donné (-1 s'il n'existe pas) public int indexOf (int car, int enPartantDe) renvoie l'indice du caractère donné (-1 s'il n'existe pas) mais en commençant la recherche à partir de l'indice enPartantDe public String substring (int indexDebut, int indexFin) retourne la sous-chaîne comprise entre les indices indexDebut et indexFin public String trim(); retourne la chaîne en ayant supprimer tous les espaces au début et à la fin
12
Exercice Ecrivez un programme java qui se compose d'un codeur et d'un décodeur de texte le codeur inverse les mots du texte et ajoute une base (un nombre entier aléatoire) à chaque caractère le décodeur retranche la base et inverse les mots du texte
13
Tableaux Des objets de type particulier
Il n'existe pas de classe pour manipuler les objets tableaux Déclaration type [] variable; Exemple int [] var; String [] args; La déclaration ne crée pas l'objet. var et args sont null Le nombre d'éléments d'un tableau est obtenu par l'attribut public var.length args.length
14
création de tableaux de primitifs
L'objet tableau de primitif peut être créé soit par initialisation à la déclaration int [] tab = {1, 2, 3, 4}; soit à l'aide de l'opérateur new int [] tab; tab = new int [10]; la création du tableau initialise tous les éléments à 0 Les éléments du tableau sont indexés à partir de 0 tab[0], tab[1]…
15
tableau d'entiers: illustration (1)
int [] tab = new int [4]; tab[0] tab[1] tab tab[2] tab[3]
16
tableau d'entiers: illustration (2)
int [] tab = new int[4]; for(int i=1;i<5;i++) tab[i-1] = i; 1 2 3 4 tab[0] tab[1] tab tab[2] tab[3]
17
Exercice Ecrire une classe Tableau qui contient un tableau d'entier et les méthodes : getElement(int i) : retourne l'élément i setElement(int i, int v) : place v dans l'élément i getMax() : retourne le plus grand élément getMin() : retourne le plus petit élément Ecrire une classe de test pour vérifier le fonctionnement de la classe Tableau
18
Création d'un tableau de chaînes
Un tableau de chaînes peut être créé soit par initialisation String [] tab = {"un", "deux", "trois"}, soit par l'opérateur new String [] tab = new String[5]; l'objet tab
19
tableau de chaînes: illustration (1)
String [] tab = new String [4]; null tab[0] tab[1] tab tab[2] tab[3]
20
tableau de chaînes: illustration (2)
for(int i=0;i<4;i++) tab[i] = "élément" + i; élément 0 élément 1 élément 2 élément 3 tab[0] tab[1] tab tab[2] tab[3]
21
Exemple : tableau de chaînes
public class Arguments { public static void main(String[] args) { for (int i=0;i<args.length;i++) System.out.println("args[" + i + "] = " + args[i]); }
22
Exercices Ecrire une classe Nombre qui décrit un nombre en toutes lettre et contient une méthode valeur qui calcule la valeur décimale de ce nombre (exemple huit cent soixante dix) et écrit le nombre en chiffres (exemple 870) Ecrire une classe de Test qui prend en argument le nombre en lettre et affiche le nombre en chiffre
23
Tableau à plusieurs dimensions
Déclaration type [][] var; Création type [][] var = new type[n][m]; Exemple int[][] m = new int[10][8]; Longueur m.lenght //nombre de lignes m[5].length //nombre de colonnes de la ligne 6
24
Exercice Ecrire une classe Matrice ayant
n x m éléments (privés). La matrice doit avoir un constructeur, une méthode getNbLignes() qui retourne le nombre de lignes une méthode getNbColonnes() qui retourne le nombre de colonnes une méthode getMij(int i, int j) qui retourne l'élément M[i][j] une méthode addition (Matrice t) qui teste la faisabilité de l'addition et retourne un nouvel objet Matrice résultat de l'addition une méthode multiplier (Matrice t) qui teste la faisabilité de la multiplicité et retourne un nouvel objet Matrice résultat de la multiplication Créer une classe Test avec un main qui lit les éléments de deux matrices et calcule (si possible) leur somme et leur produit.
25
StringBuffer Contructeurs StringBuffer() StringBuffer(int length)
StringBuffer(String str) Méthodes d'instances public synchronized StringBuffer append(Object obj) public synchronized StringBuffer append(String str) public synchronized StringBuffer append(char[] str) public StringBuffer append(boolean b) public synchronized StringBuffer append(char c) public StringBuffer append(int i) public StringBuffer append(long l) public StringBuffer append(float f) public StringBuffer append(double d) public synchronized StringBuffer insert(int ,Object obj) throws StringIndexOutOfBoundsException public synchronized StringBuffer insert(int ,String str) public synchronized StringBuffer insert(int ,char[] str) throws StringIndexOutOfBoundsException public StringBuffer insert(int ,boolean b) public synchronized StringBuffer insert(int ,char c) public StringBuffer insert(int ,int i) public StringBuffer insert(int ,long l) public StringBuffer insert(int ,float f) public StringBuffer insert(int ,double d) public int length() synchronized void set CharAt(int index,char ch) throws exception StringIndexOutOfBoundsException synchronized void setLength(innt newlength)
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.