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

Slides:



Advertisements
Présentations similaires
Cours n° 7 Standard Template Library II.
Advertisements

Portée des variables VBA & Excel
Le mécanisme des exceptions
Calculs de complexité d'algorithmes
La classe String Attention ce n’est pas un type de base. Il s'agit d'une classe défini dans l’API Java (Dans le package java.lang) String s="aaa"; // s.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Approfondissement du langage
(Classes prédéfinies – API Java)
Algorithme et structure de données
LICENCE MIAGE Introduction Programmation Orientée Objet JAVA philippe
JAV - TD 6 Structures de données JAVA
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Chap. 1 Structures séquentielles : listes linéaires
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Algorithme et programmation
Principes de programmation (suite)
Développement d’applications web
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Langage Oriente Objet Cours 4.
Leçon 6 : Structures de données dynamiques IUP 2 Génie Informatique Méthode et Outils pour la Programmation Françoise Greffier.
Initiation aux bases de données et à la programmation événementielle
Principes de programmation (suite)
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
77 Utilisation des classes (suite). 7-2 Objectifs A la fin de ce cours, vous serez capables de : Définir des méthodes surchargées dans une classe Fournir.
Chapitre 21 Collections Partie I Introduction Une collection : est un objet qui regroupe multiple éléments dans une unité. Une collection est.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Structures de données IFT Abder Alikacem La classe string Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
66 Utilisation des classes et des objets. 6-2 Objectifs A la fin de ce cours, vous serez capables de : Créer de nouvelles classes à laide de Eclipse Utiliser.
Rappels Java.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
Daniel Amyot et Alan Williams
IFT 6800 Atelier en Technologies d’information
Vector, Iterator, LinkedList
1 IFT 6800 Atelier en Technologies dinformation Le langage de programmation Java chapitre 3 : Classes et Objects.
COURS DE PROGRAMMATION ORIENTEE OBJET :
COURS DE PROGRAMMATION ORIENTEE OBJET :
CSI 1502 Principes fondamentaux de conception de logiciels
CSI1502 Principes fondamentaux en conception des logiciels
CSI 1502 Principes fondamentaux de conception de logiciels
Java, les objets : tout de suite ! Rassembler, grouper les objets
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Les méthodes en java • Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. • Une méthode pour être utilisée.
1111 Gestion des exceptions Objectifs À la fin de ce cours, vous serez capables de : • Expliquer les concepts de base de la gestion des exceptions.
Structures des données
Le langage C Structures de données
Objectifs À la fin de ce cours, vous serez capables de :
4 Introduction des objets. Les chaînes et tableaux
1 Fichers Binaires, Accès Direct et Objets. 2 Données binaires. Il s'agit ici de lire et écrire des données binaires par opposition à du texte. Pour ce.
LES PILES ET FILES.
Programmation en Java Tableaux NGUYEN Thi Minh Tuyen
CSI2520  Cette fonction permet d’attribuer une valeur à une variable (set! nombre (+ 3 4)) (set! nombre (+ 1 nombre)) En SCHEME, les fonctions dont le.
11/04/ L'héritage Cours 7 Cours 7.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Tutorat en bio-informatique
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 3 – Classes et objets en Java Master 1 SIGLIS1 Java Lecteur - Chapitre 3 Classes et objets en Java.
Strings et Tableaux en Java
Les classes et les objets Les données finales class A { … private final int n = 20 ; // la valeur de n est définie dans sa déclaration … } class A { public.
Cours LCS N°4 Présenté par Mr: LALLALI
Cours du 5 novembre.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Héritage Conception par Objet et programmation Java
22 Concepts de base du langage Java. 2-2 Objectifs A la fin de ce cours, vous serez capables de : Identifier les éléments essentiels de Java Identifier.
1 Listes des méthodes de la classe string, et exemples.
pour les programmeurs en C++ Java 2 Part 1 3 Histoire de Java Projet de connexion des machines: 1991 Le nom Java a été introduit dans un café Développé.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
BlueJ_III 1 Java, les objets : tout de suite ! Interaction entre objets Notes de cours associées au chapitre 3 tutorial BlueJ
LES CLASSES ET LES OBJETS
Transcription de la présentation:

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

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

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.

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");

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);

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);

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 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

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);

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);

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.

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: 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.

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(); }

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 = ; System.out.println(String.valueOf(num1).charAt(3));

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"));

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 [0] [1] [2] [3] Action Comedy Drama [0] [1] [2]

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 powers

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

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] [3]powers

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] [3] arrayName[index] = value; powers[0] = 1; powers [0] [1] [2] [3]

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

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(); }

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];

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]);

8-25 Exercice pratique 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.

8-26 Exercice pratique 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.

8-27 Exercice pratique 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.

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] mdarr

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]); } …

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);

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);

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);

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.