PROGRAMMER AVEC Les tableaux
JAVA
1
OBJECTIFS D’APPRENTISSAGE
A la fin de ce module sur les tableaux, chacun d’entre vous sera capable :
d’expliquer la signification et l’intérêt d’utiliser un tableau
de déclarer un tableau à une ou plusieurs dimension(s)
d’initialiser ou de saisir un tableau
d’afficher un tableau
de réaliser différentes opérations sur le tableau
2
TABLEAUX
Un tableau est une structure de données regroupant sous un même nom
de variable plusieurs valeurs de même type : appelées composantes
Un tableau est traité composante par composante
Chaque composante est désignée individuellement via un indice qui
correspond à sa position dans le tableau
Chaque composante est une variable individuelle pour laquelle on peut :
Consulter sa valeur
Modifier sa valeur
3
TABLEAUX
T[0], T[1], T[2], T[3], ……, T[8] } 9 variables (ou composantes)
4
DÉCLARATION ET CRÉATION
En java, avant d’utiliser un tableau, il faut :
Déclarer une variable de type tableau
Créer explicitement la structure du tableau en mémoire
Initialiser le tableau, cette initialisation peut être :
implicite avec des valeurs par défaut lors de la création
explicite par le développeur
5
DÉCLARATION
La déclaration d’un tableau se fait toujours :
«type» [ ] nomTableau;
«type» : type des composantes du tableau
Symbole [ ] : variable de type tableau
nomTableau: nom du tableau
Exemples : int[ ] tab;
double [ ] notes;
6
CRÉATION
La création du tableau est réalisée par l’opération new en donnant la taille
et le type de ses éléments :
«nomTableau» = new «type» [taille];
7
TABLEAUX
8
REMARQUES
La taille du tableau est fixée lors de l’utilisation de l’opérateur new.
Il est possible de fixer la taille du tableau au moment de l’exécution du
programme.
9
EXEMPLE
10
INITIALISATION À DES VALEURS PAR
DÉFAUT
L’opération de création :
new type [n];
Réalise la création et l’initialisation d’un tableau de n composantes :
Allocation en mémoire d’un espace pour stocker n composantes
Initialisation des composantes du tableau à des valeurs par défaut
11
EXEMPLE
12
INITIALISATION À UNE LISTE DE
VALEURS
Il est possible d’initialiser un tableau en donnant la liste des valeurs de chaque
composante
On utilise la notation { 0, 1,…. } 𝑜ù 𝑣𝑖 est la valeur à donner à la composante i du tableauù 𝑖 est la valeur à donner à la composante i du tableau est la valeur à donner à la composante i du tableau
Exemple :
int[] tab = {1,2,9,4};
Attention !
int[] tab = {1,2,9,4};
tab = new int[4];
Réinitialise les éléments du tableau à 0 !
13
LONGUEUR D’UN TABLEAU
La longueur du tableau tab est donnée par tab.length
Les indices du tableau sont alors compris entre 0 et tab.length–1
Cette propriété sera utilisée pour récupérer la valeur maximale que peut
prendre l’indice d’un tableau.
14
ACCÈS AUX COMPOSANTES
L’accès à une composante du tableau permet de la traiter comme n’importe
quelle variable :
Modifier sa valeur
L’utiliser pour un calcul
Un affichage,
etc..
L’accès à une composante se fait via son indice dans le tableau
15
PARCOURS DE TABLEAU
1er méthode
16
PARCOURS DE TABLEAU
2ème méthode
17
EXEMPLES
18
OPÉRATIONS SUR LES TABLEAUX
Opérations arithmétiques:
La somme, la soustraction ou la multiplication de deux tableaux doit être réalisée élément
par élément
Opérations de comparaison
On compare deux tableaux élément par élément.
19
MANIPULATION DE TABLEAUX 2D
Comme pour un tableau à une dimension, avant d’utiliser un tableau 2D il faut, en
JAVA :
déclarer une variable de type tableau
créer explicitement la structure du tableau en mémoire
initialiser le tableau
20
DÉCLARATION
La déclaration d’un tableau 2D nécessite une double paire de crochets:
«type» [ ][ ] nom_tableau
«type» : type des composantes du tableau
Symbole [ ][ ] : variable de type tableau 2D
nom_tableau: nom de votre tableau
Exemple: int[ ][ ] tab;
double [ ][ ] notes;
21
CRÉATION PAR L’OPÉRATEUR NEW
«nom_tableau» = new«type» [nbLignes][nbColonnes]
…..
int [][] tab; //tableau 2D
int nbLignes=3; //nombre de lignes
int nbColonnes=2;//nombre de colonnes
// Création du tableau à deux dimensions
tab=new int[nbLignes][nbColonnes];
….
22
INITIALISATION PAR DÉFAUT D’UN
TABLEAU 2D
Par défaut, le tableau est initialisé à la valeur par défaut du type :
0 pour byte, short, int, long, float et double
Le caractère ASCII null pour un type char
false pour un boolean
Null pour un String ou tout autre objet
Il est souvent nécessaire d’initialiser le tableau avec des valeurs
pertinentes en fonction du problème
Une valeur commune
Une liste de valeurs
23
INITIALISATION PROGRAMMÉE
Il est indispensable de parcourir le tableau
Utilisation d’une double boucle imbriquée
int [][] tab; //tableau 2D
int nbLignes=3; //nombre de lignes
int nbColonnes=2;//nombre de colonnes
int valeur=5;//initialisation de valeur à 5
// Création du tableau à deux dimensions
tab=new int[nbLignes][nbColonnes];
for(int i=0;i<nbLignes;i++)
for(int j=0;j<nbColonnes;j++)
tab[i][j]=valeur;
24
INITIALISATION À UNE LISTE DE
VALEURS
Il est possible d’initialiser un tableau en donnant la liste des valeurs de
chaque composante
Le remplissage du tableau doit alors être effectué dès la déclaration. Il n’est
pas possible d’utiliser le constructeur.
Exemple :
private int[][] tabfixe={{5,8,3},{7,12,-1}};
25
ACCÈS AUX COMPOSANTES
L’accès à une composante du tableau permet de la traiter comme n’importe
qu’elle variable:
Modifier sa valeur
L’utiliser pour un calcul
Un affichage,
etc..
L’accès s’effectue avec la notation tab[l][c] où
l est l’indice de la ligne
c est l’indice de la colonne
26
EXEMPLE D’ACCÈS À CHAQUE
ÉLÉMENT POUR L’AFFICHAGE DU
TABLEAU 2D
27
TABLEAUX À N DIMENSIONS
Même principe que les tableaux 2D
Exemple : tableau 3D d’entiers :
int[ ][ ][ ]tab;
Exemple : tableau 4D de réels :
double [ ][ ][ ] [ ] tab;
28