Les Tableaux
Éric Gillon Thomas Rey
Lycée Marlioz
9 octobre 2012
Sommaire
1 Les tableaux : une nécessité
2 Déclaration d’un tableau en Java
3 Accès aux éléments d’un tableau
4 Tableaux bidimensionnels
Un premier exemple
Observer le morceau de programme suivant :
S c a n n e r m o n s c a n n e r = new S c a n n e r(S y s t e m.in) ;
S y s t e m.out.p r i n t l n(" S a i s i r l e nom de l ’ é l è v e 1 : ") ; S t r i n g n o m 1=m o n s c a n n e r.n e x t l i n e() ;
S y s t e m.out.p r i n t l n(" S a i s i r l e nom de l ’ é l è v e 2 : ") ; S t r i n g n o m 2=m o n s c a n n e r.n e x t l i n e() ;
S y s t e m.out.p r i n t l n(" S a i s i r l e nom de l ’ é l è v e 3 : ") ; S t r i n g n o m 3=m o n s c a n n e r.n e x t l i n e() ;
...
Il serait peut-être intéressant de créer une boucle pour saisir les 17 16 élèves de spé ISN, oui, mais. . .
Un premier exemple (suite)
Dans une boucle for(int i=0, ...), l’indice i ne peut pas servir à définir un nom de variable.
Pour créer une variable « indicée » on utilise un nouveau type : le tableau.
Un tableau est une sorte de suite (comme en mathématiques) sauf :
qu’il peut contenir autre chose que des nombres (du texte, des booléens, des caractères, . . .) ;
qu’il contient un nombre fini d’éléments.
Une définition
Untableau est une collection de données ordonnées telle que :
le nombren de données est fixé (et défini au moment de la création du tableau) ;
les données sont repérées par un rang (ou indice) entier compris entre 0 et n−1.
Sommaire
1 Les tableaux : une nécessité
2 Déclaration d’un tableau en Java
3 Accès aux éléments d’un tableau
4 Tableaux bidimensionnels
Déclaration en Java
Pour déclarer un tableau de 16 entiers de typeint on peut utiliser le modèle suivant :
int m o n t a b l e a u[] = new int[ 1 6 ] ;
ou bien :
int[] m o n t a b l e a u; // m o n t a b l e a u est un t a b l e a u à une d i m e n s i o n d ’ e n t i e r s int m o n t a b l e a u = new int[ 1 6 ] ; // on a l l o u e l ’
e s p a c e n é c e s s a i r e au t a b l e a u
Déclaration en Java (suite)
On peut aussi « remplir » le tableau au moment de la déclaration :
int[] m o n t a b l e a u = {0 ,2 ,4 ,6 ,8 ,10};
// ici on é c r i t d i r e c t e m e n t les v a l e u r s du t a b l e a u
// il est donc i n u t i l e de p r é c i s e r la t a i l l e .
Résumé
Une déclaration de tableau se fait ainsi :
T y p e E l e m e n t n o m d u t a b[] = new T y p e E l e m e n t[n];
// T y p e E l e m e n t à c h o i s i r p a r m i int , double , String , ...
ou ainsi :
T y p e E l e m e n t[] n o m d u t a b;
n o m d u t a b = new T y p e E l e m e n t[n];
Sommaire
1 Les tableaux : une nécessité
2 Déclaration d’un tableau en Java
3 Accès aux éléments d’un tableau
4 Tableaux bidimensionnels
Écrire et lire dans un tableau
En maths, pour indiquer que le 5e terme d’un suite vaut 10 on écritu4 =10, en Java si on veut affecter la valeur 10 au 5e élément d’un tableau montab, on écrit :
montab[4] = 10;
Exemple :que fait ce « bout » de code ? int m o n t a b[] = new int[ 1 0 ] ; for(int i = 0; i < 10; i++) {
m o n t a b[i] = 2*i; }
Longueur
Pour retrouver la taille d’un tableau (par exemple dans une fonction ou une procédure) :
int longueur = montableau.length;
Exemple :que fait cette procédure ?
p u b l i c s t a t i c void q u e f a i s j e(int[] t a b l e) { for(int i = 0; i < t a b l e.l e n g t h; i++) {
S y s t e m.out.p r i n t(t a b l e[i]+" ; ") ; }
S y s t e m.out.p r i n t l n() ; }
Sommaire
1 Les tableaux : une nécessité
2 Déclaration d’un tableau en Java
3 Accès aux éléments d’un tableau
4 Tableaux bidimensionnels
Un exemple
Comment stocker dans une seule variable les informations numériques suivantes ?
1 2 3 4
2 4 6 8
3 6 9 12
Un exemple (suite)
On va créer un tableau à deux indices (un peu à la manière des coordonnées de points dans un repère) :
Ici figurait une partie de la réponse au DM pour la semaine prochaine . . .