La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

88 Utilisation des arrays, des chaînes et des classes conteneurs.

Présentations similaires


Présentation au sujet: "88 Utilisation des arrays, des chaînes et des classes conteneurs."— Transcription de la présentation:

1 88 Utilisation des arrays, des chaînes et des classes conteneurs

2 8-2 Objectifs A la fin de ce cours, vous serez capables de : Créer et manipuler des chaînes dans Java Utiliser des classes conteneurs pour convertir des chaînes en primitives et des primitives en chaînes Utiliser des arrays Utiliser des arrays et des vecteurs redimensionnables Gérer des clauses de ligne de commande dans une application Java A la fin de ce cours, vous serez capables de : Créer et manipuler des chaînes dans Java Utiliser des classes conteneurs pour convertir des chaînes en primitives et des primitives en chaînes Utiliser des arrays Utiliser des arrays et des vecteurs redimensionnables Gérer des clauses de ligne de commande dans une application Java

3 8-3 Quest-ce quune chaîne ? Une chaîne est une séquence de caractères. La classe String représente lensemble des chaînes dans Java. Les objets String sont en lecture seule ; leur valeur ne peut être changée après quils aient été créés. Une String est un objet. Une chaîne est une séquence de caractères. La classe String représente lensemble des chaînes dans Java. Les objets String sont en lecture seule ; leur valeur ne peut être changée après quils aient été créés. Une String est un objet.

4 8-4 Comment créer une chaîne Assignez une constante entre guillemets doubles à une variable String : Enchaînez dautres chaînes : Utilisez un constructeur : Assignez une constante entre guillemets doubles à une variable String : Enchaînez dautres chaînes : Utilisez un constructeur : String category = "Action"; String empName = firstName + " " + lastName; String empName = new String("Joe Smith");

5 8-5 Comment enchaîner les chaînes Utilisez lopérateur + pour enchaîner les chaînes : Il est possible denchaîner des primitives et des chaînes : On peut également enchaîner les chaînes en utilisant String.concat(). Utilisez lopérateur + pour enchaîner les chaînes : Il est possible denchaîner des primitives et des chaînes : On peut également enchaîner les chaînes en utilisant String.concat(). System.out.println("Name = " + empName); int age = getAge(); System.out.println("Age = " + age);

6 8-6 Comment effectuer des opérations sur les chaînes Comment déterminer la longueur dune chaîne : Comment trouver le caractère placé à un index spécifique : Comment retourner une sous-chaîne dune chaîne : Comment déterminer la longueur dune chaîne : Comment trouver le caractère placé à un index spécifique : Comment retourner une sous-chaîne dune chaîne : int length();String str = "Comedy"; int len = str.length(); char charAt(int index); String str = "Comedy"; char c = str.charAt(1); String substring (int beginIndex, int endIndex); String str = "Comedy"; String sub = str.substring(2,4);

7 8-7 Comment effectuer des opérations sur les chaînes Comment convertir une chaîne en majuscules ou en minuscules : Comment supprimer les blancs aux extrémités dune chaîne : Comment trouver lindex dune sous-chaîne : Comment convertir une chaîne en majuscules ou en minuscules : Comment supprimer les blancs aux extrémités dune chaîne : Comment trouver lindex dune sous-chaîne : String toUpperCase(); String toLowerCase(); String caps = str.toUpperCase(); String trim();String nospaces = str.trim(); int indexOf (String str); int lastIndexOf (String str); int index = str.indexOf("me");

8 8-8 Comment comparer deux chaînes Utilisez equals() si vous voulez respecter la casse : Utilisez equalsIgnoreCase() si vous voulez ignorer la casse : Nutilisez pas ==. Utilisez equals() si vous voulez respecter la casse : Utilisez equalsIgnoreCase() si vous voulez ignorer la casse : Nutilisez pas ==. String passwd = connection.getPassword(); if (passwd.equals("fgHPUw"))… // Case is important String cat = getCategory(); if (cat.equalsIgnoreCase("Drama"))… // We just want the word to match

9 8-9 Comment créer des chaînes à partir dautres objets Utilisez Object.toString(). Votre classe peut se substituer à toString() : System.out.println() appelle automatiquement la méthode toString() dun objet : Utilisez Object.toString(). Votre classe peut se substituer à toString() : System.out.println() appelle automatiquement la méthode toString() dun objet : public Class Movie {… public String toString { return name + " (" + Year + ")"; }… Movie mov = new Movie(…); System.out.println("Title Rented: " + mov);

10 8-10 Comment créer des chaînes à partir de primitives Utilisez String.valueOf(): Il existe une version de System.out.println() pour chaque type de primitive : Utilisez String.valueOf(): Il existe une version de System.out.println() pour chaque type de primitive : String seven = String.valueOf(7); String onePoint0 = String.valueOf(1.0f); int count; … System.out.println(count);

11 8-11 Comment créer des primitives à partir de chaînes Utilisez les classes conteneurs de primitives. Il existe une classe conteneur pour chaque type de primitive ; par exemple : –Integer contient le type int. –Float contient le type float. Les classes conteneurs fournissent des méthodes permettant de convertir une chaîne en primitive. Utilisez les classes conteneurs de primitives. Il existe une classe conteneur pour chaque type de primitive ; par exemple : –Integer contient le type int. –Float contient le type float. Les classes conteneurs fournissent des méthodes permettant de convertir une chaîne en primitive.

12 8-12 Méthodes de conversion des classes conteneurs String qtyVal = qtyField.getText(); String priceVal = priceField.getText(); int qty = Integer.parseInt(qtyVal); float price = Float.parseFloat(priceVal); 17 Quantity: 425.00 Price: qtyField priceField Exemple : Utilisez les méthodes pour traiter les données issues des champs dun formulaire. Exemple : Utilisez les méthodes pour traiter les données issues des champs dun formulaire.

13 8-13 Comment modifier le contenu dune chaîne Utilisez la classe StringBuffer pour les chaînes de caractères modifiables : Utilisez StringBuffer si vous devez continuer à ajouter des caractères à une chaîne. Utilisez la classe StringBuffer pour les chaînes de caractères modifiables : Utilisez StringBuffer si vous devez continuer à ajouter des caractères à une chaîne. public String reverseIt(String s) { StringBuffer sb = new StringBuffer(); for (int i = s.length() - 1; i >= 0; i--) sb.append(s.charAt(i)); return sb.toString(); }

14 8-14 Exercice pratique 9-1 Que produit chacun des fragments de code ? String s = new String("Friday"); if(s == "Friday") System.out.println("Equal A"); if(s.equals("Friday")) System.out.println("Equal B"); int num1 = 1234567; System.out.println(String.valueOf(num1).charAt(3));

15 8-15 Exercice pratique 9-1 Que produit chacun des fragments de code ? String s1 = "Monday"; String s2 = "Tuesday"; System.out.println(s1.concat(s2).substring(4,8)); // s3 begins with 2 spaces and ends with 2 spaces String s3 = " Monday "; System.out.println(s3.indexOf("day")); System.out.println(s3.trim().indexOf("day"));

16 8-16 Quest-ce quun array ? Un array est une collection de variables de même type. Chaque élément peut contenir un article unique. Les articles peuvent être des primitives ou des références dobjet. La longueur de l'array est fixée lors de sa création. Un array est une collection de variables de même type. Chaque élément peut contenir un article unique. Les articles peuvent être des primitives ou des références dobjet. La longueur de l'array est fixée lors de sa création. 1 2 4 8 [0] [1] [2] [3] Action Comedy Drama [0] [1] [2]

17 8-17 Comment créer un array de primitives 1.Déclarez l'array. 2.Créez lobjet array. 3. Initialisez les éléments de l'array (facultatif). 1.Déclarez l'array. 2.Créez lobjet array. 3. Initialisez les éléments de l'array (facultatif). null powers powers 1 2 4 0 0 0 powers

18 8-18 Déclaration dun array de primitives Créez une variable qui puisse faire référence à l'array. La variable d'array pointe vers null jusquà ce que lobjet array soit créé. Créez une variable qui puisse faire référence à l'array. La variable d'array pointe vers null jusquà ce que lobjet array soit créé. int[] powers; // Exampletype[] arrayName; … or … type arrayName[]; null powers

19 8-19 Création de lobjet array pour un array de primitives Créez un array de la longueur requise et affectez-le à la variable d'array : Les arrays de primitives sont automatiquement initialisés. Créez un array de la longueur requise et affectez-le à la variable d'array : Les arrays de primitives sont automatiquement initialisés. int[] powers;// Declare array variable powers = new int[4];//Create array object [0] [1] [2] 0 0 0 0 [3]powers

20 8-20 Initialisation des éléments de l'array Assignez une valeur à chaque élément : Les arrays peuvent être créés et initialisés simultanément : Assignez une valeur à chaque élément : Les arrays peuvent être créés et initialisés simultanément : int[] primes = {2, 3, 5, 7}; type[] arrayName = {valueList}; primes [0] [1] [2] 2 3 5 7 [3] arrayName[index] = value; powers[0] = 1; powers [0] [1] [2] 1 0 0 0 [3]

21 8-21 Comment créer un array de références dobjet 1.Déclarez l'array. 2.Créez lobjet array. 3.Initialisez les objets dans l'array. 1.Déclarez l'array. 2.Créez lobjet array. 3.Initialisez les objets dans l'array. null categories categories Action Comedy Drama categories

22 8-22 Initialisation des objets dans l'array Assignez une valeur à chaque élément de l'array : Créez et initialisez l'array simultanément : Assignez une valeur à chaque élément de l'array : Créez et initialisez l'array simultanément : String[] categories = {"Action", "Comedy", "Drama"}; // Create an array of four empty Strings String[] arr = new String[4]; for (int i = 0; i < arr.length; i++) { arr[i] = new String(); }

23 8-23 Utilisation dun array de références dobjet Chaque élément peut être affecté à un objet de type adéquat : Chaque élément peut être traité comme un objet individuel : Un élément d'array peut être passé à une méthode ; les éléments d'array sont passés par référence. Chaque élément peut être affecté à un objet de type adéquat : Chaque élément peut être traité comme un objet individuel : Un élément d'array peut être passé à une méthode ; les éléments d'array sont passés par référence. System.out.println (Length is + categories[2].length()); String category = categories[0];

24 8-24 Arrays et exceptions ArrayIndexOutOfBoundsException est générée lorsque lindex d'array est incorrect : NullPointerException est générée lorsque vous tentez daccéder à un élément qui na pas été initialisé : ArrayIndexOutOfBoundsException est générée lorsque lindex d'array est incorrect : NullPointerException est générée lorsque vous tentez daccéder à un élément qui na pas été initialisé : // This will throw NullPointerException Movie[] movieList = new Movie[3]; String director = movieList[0].getDirector(); //This will throw ArrayIndexOutOfBoundsException String[] list = new String[4]; System.out.println(list[5]);

25 8-25 Exercice pratique 9-2 1.Que produit chacun des fragments de code ? int[] numbers = new int[5]; System.out.println(numbers.length-1); String[] categories = {"Action", "Comedy", "Drama", "Foreign"}; int index = categories.length-2 System.out.println(categories[index].lengt h()); a. b.

26 8-26 Exercice pratique 9-2 2.Pour chaque fragment, le code va-t-il compiler ? Sil compile, fonctionnera-t-il sans générer derreur ? String[] categories = {"Action", "Comedy", "Drama"}; int count = 0; while (categories[count] != null) { count ++; } String[] categories = new String[3]; System.out.println(categories[0]); a. b.

27 8-27 Exercice pratique 9-2 2.Pour chaque fragment, le code va-t-il compiler ? Sil compile, fonctionnera-t-il sans générer derreur ? String[] categories = new String[3]; System.out.println(categories[0].length()); String[] categories; System.out.println(categories.length); c. d. String[] categories; System.out.println(categories[0].length()[0]); e.

28 8-28 Arrays multidimensionnels Java prend en charge les arrays d'arrays : type[][] arrayname = new type[n1][n2]; int[][] mdarr = new int[4][2]; mdarr[0][0] = 1; mdarr[0][1] = 7; [0] [1] [2] [3] [0][0][0][1] 17 00 00 00 mdarr

29 8-29 La méthode main() revue main() a un seul paramètre, args. args est un array de Strings contenant des paramètres de ligne de commande : main() a un seul paramètre, args. args est un array de Strings contenant des paramètres de ligne de commande : public class SayHello { public static void main(String[] args) { if (args.length != 1) System.out.println("Specify 1 argument"); else System.out.println("Hello " + args[0]); } …

30 8-30 Comment utiliser des arrays redimensionnables La classe Vector fournit un array redimensionnable pour chaque type dobjet : Création dun vecteur vide : Création dun vecteur de taille initiale déterminée : La classe Vector fournit un array redimensionnable pour chaque type dobjet : Création dun vecteur vide : Création dun vecteur de taille initiale déterminée : Vector members = new Vector(); // Create a vector with 10 elements. The vector // can be expanded later. Vector members = new Vector(10);

31 8-31 Comment modifier un vecteur Ajout dun élément à la fin du vecteur : Ajout dun élément à un emplacement spécifique : Suppression dun élément situé à un index spécifique : Ajout dun élément à la fin du vecteur : Ajout dun élément à un emplacement spécifique : Suppression dun élément situé à un index spécifique : String name = Movie.getNextName(); vector.addElement(name); // Remove the first element vector.removeElementAt(0); // Insert a string at the beginning vector.insertElementAt(name, 0);

32 8-32 Comment accéder à un vecteur Obtention du premier élément : Obtention dun élément situé à un emplacement spécifique : Localisation dun objet dans un vecteur : Détermination de la taille dun vecteur : Obtention du premier élément : Obtention dun élément situé à un emplacement spécifique : Localisation dun objet dans un vecteur : Détermination de la taille dun vecteur : String s = (String)vector.firstElement(); int size = vector.size(); String s = (String)vector.elementAt(2); int position = vector.indexOf(name);

33 8-33 Résumé Au cours de cette leçon, vous devriez avoir retenu que : Une chaîne est une séquence de caractères. On doit utiliser StringBuffer lorsquon veut modifier le contenu dune chaîne. Les arrays peuvent contenir des primitives ou des objets. On doit utiliser lobjet Vector pour créer des arrays redimensionnables. On doit utiliser les classes conteneurs lorsquon veut créer un vecteur de primitives. Au cours de cette leçon, vous devriez avoir retenu que : Une chaîne est une séquence de caractères. On doit utiliser StringBuffer lorsquon veut modifier le contenu dune chaîne. Les arrays peuvent contenir des primitives ou des objets. On doit utiliser lobjet Vector pour créer des arrays redimensionnables. On doit utiliser les classes conteneurs lorsquon veut créer un vecteur de primitives.


Télécharger ppt "88 Utilisation des arrays, des chaînes et des classes conteneurs."

Présentations similaires


Annonces Google