90 likes | 241 Views
Chapitre 2: Les tableaux, les matrices et les chaines de caractère. Les tableaux (2). Création d’un tableau Int tab []; //déclaration tab = new int [5];// création Ou bien Int tab[] = new int [5]; La taille du tableau doit être fixe Initialisation d’un tableau
E N D
Chapitre 2: Les tableaux, les matrices et les chaines de caractère
Les tableaux (2) Création d’un tableau Int tab []; //déclaration tab = new int [5];// création Ou bien Int tab[] = new int [5]; La taille du tableau doit être fixe Initialisation d’un tableau //Lors de la déclaration Int tab[] = {1,2,3}; //Lors de la création Tab = new int [] {1,2,3}; NB: les éléments du tableau s’ils ne sont pas initialisés, ils sont par défaut à 0 ou false ou null selon le type de base.
Les tableaux (1) Déclaration d’un tableau La déclaration d’une référence à un tableau précise le type des éléments du tableau. Elle peut prendre deux formes: int [] mon_tableau; int mon_tableau []; En java, les éléments d’un tableau être d’un type primitif ou d’un type objet. Personne [] P; Point PO [];
Les tableaux (3) • Taille d’un tableau • Longueur du tableau en utilisant length • Int [] tab = new int [5]; • Int size = tab.length; • Indices: entre 0 et length-1 • L’affectation ne modifie que la référence: • int t1[] = {1,2,3}; • Int t2 [] = {4,5}; • t1=t2; • Espace mémoire libéré automatiquement par le « Garbage Collector ».
Les tableaux (4) Copie d’un tableau 1ère solution: Méthode manuelle : Création puis copie case par case. 2ème solution: Copie par appel de System.arraycopy(): //copie des 50 premiers éléments de src dans dst à partir de l’indice 2: System.arraycopy(src, 0, dst, 2, 50); 3ème solution: Allocation et copie par Arrays.copyOf() ou Arrays.copyOfRange (): int [] t2 = Arrays.copyOf(t,10); Int [] t3 = Arrays.copyOfRange(t, 5, 80); // copie les cases 5,6..79
Les tableaux (5) Tableaux d’objets Point [] tabPoints; tabPoints = new tabPoints[];
Les tableaux (6) Tableau en argument Lorsqu’on transmet un nom de tableau en argument d’une méthode. On transmet en fait la référence du tableau. La méthode agit alors directement sur le tableau concerné…
Exercice d’application Implémenter en java une classe qui modélise un compte bancaire : Un compte bancaire est identifié par un numéro de compte. La somme d’argent disponible sur un compte est exprimée en dinars, cette somme est désignée sous le terme de solde. Un compte peut être Crédité (ajouter un montant positif au compte), Un compte peut être Débité (retirer un montant positif au solde du compte). Un compte est associé à une personne (décrite par un nom), une personne peut avoir plusieurs comptes dans la même banque (utiliser un tableau). Une personne peut déposer, retirer de l’argent ou faire des virements vers d’autres comptes.