La syntaxe suivante, avec les crochets au niveau du type, est équivalente :
int[] tab;
Vous indiquez ainsi que tab contiendra un tableau d’entiers à une dimension. Notez que la taille du tableau n’est pas précisée
au moment de sa déclaration. Vous ne spécifiez la taille du tableau qu’au moment de son utilisation. Ça peut sembler
surprenant, mais ça évite un éventuel gâchis de mémoire si le tableau n’est soit jamais utilisé, soit de taille excessive. Une
pratique courante consiste à réserver un maximum d’éléments dès le début, au cas où. C’est une bien mauvaise pratique.
Pour indiquer le nombre d’éléments du tableau, utilisez la syntaxe suivante :
tableau = new type[taille];
Pour un tableau d’entiers de dix éléments, vous ferez donc :
tab=new int[10];
Vous pouvez à la fois déclarer un tableau et son nombre d’éléments en mixant les deux syntaxes :
int tab[]=new int[10] ;
int[] tab2=new int[20] ;
Tous les types peuvent faire l’objet de tableaux. Pour dix éléments, les indices entre crochets vont de 0 à 9. Suivant le type du
tableau, les éléments ont des valeurs prédéfinies équivalentes à 0 pour les types numériques, False pour les booléens,
caractère nul pour le type caractère, null (valeur nulle) pour les autres.
Vous pouvez déclarer un tableau avec des valeurs prédéfinies comme ceci :
int t[]={2,7,9,10,11,14,17,18,20,22};
ou comme cela :
int[] t={2,7,9,10,11,14,17,18,20,22};
Ce qui revient exactement au même.
Vous accédez au contenu de chaque élément exactement comme prévu, à savoir en mettant le numéro de l’indice entre les
crochets.
tab[2]=254 ;
total=total+tab[3] ;
Vous pouvez obtenir le nombre d’éléments d’un tableau à l’aide d’une propriété particulière appelée length.
nb=tab.length ;
Vous pouvez redéfinir un tableau à n’importe quel moment, exactement comme si vous indiquiez son nombre d’éléments,
cependant attention : toutes les anciennes valeurs sont perdues.
Attention ici il y a un énorme piège, tellement gros que les débutants sous Java tombent tous dedans les deux pieds joints. Il
est possible en Java de faire ceci :
int[] t={2,7,9,10,11,14,17,18,20,22};
int[] copie;
copie=t ;
La dernière ligne donne l’impression que le tableau t est copié dans le tableau copie. Or Java fonctionne par référence. Le
principe est expliqué dans le point suivant sur la représentation mémoire et dans le chapitre Notions avancées. Ici, ce n’est pas
le tableau qui est copié : copie reçoit la référence du tableau t. Les variables copie et t référencent le même tableau : si vous
modifiez un élément de copie, vous modifiez l’élément correspondant de t puisqu’ils référencent le même tableau, le même
endroit dans la mémoire. L’exemple suivant met ceci en lumière : un élément de copie est modifié, puis on affiche l’élément
correspondant de t : c’est le même.
class chap5_tab1 {
public static void main(String[] args) {
int[] t={2,7,9,10,11,14,17,18,20,22};
int[] copie=t;
System.out.println(t[2]);
copie[2]=5;
System.out.println(t[2]);
Références de tableaux
- 4 -
© ENI Editions - All rigths reserved - Jonifar lina
98
int[] tab;
Vous indiquez ainsi que tab contiendra un tableau d’entiers à une dimension. Notez que la taille du tableau n’est pas précisée
au moment de sa déclaration. Vous ne spécifiez la taille du tableau qu’au moment de son utilisation. Ça peut sembler
surprenant, mais ça évite un éventuel gâchis de mémoire si le tableau n’est soit jamais utilisé, soit de taille excessive. Une
pratique courante consiste à réserver un maximum d’éléments dès le début, au cas où. C’est une bien mauvaise pratique.
Pour indiquer le nombre d’éléments du tableau, utilisez la syntaxe suivante :
tableau = new type[taille];
Pour un tableau d’entiers de dix éléments, vous ferez donc :
tab=new int[10];
Vous pouvez à la fois déclarer un tableau et son nombre d’éléments en mixant les deux syntaxes :
int tab[]=new int[10] ;
int[] tab2=new int[20] ;
Tous les types peuvent faire l’objet de tableaux. Pour dix éléments, les indices entre crochets vont de 0 à 9. Suivant le type du
tableau, les éléments ont des valeurs prédéfinies équivalentes à 0 pour les types numériques, False pour les booléens,
caractère nul pour le type caractère, null (valeur nulle) pour les autres.
Vous pouvez déclarer un tableau avec des valeurs prédéfinies comme ceci :
int t[]={2,7,9,10,11,14,17,18,20,22};
ou comme cela :
int[] t={2,7,9,10,11,14,17,18,20,22};
Ce qui revient exactement au même.
Vous accédez au contenu de chaque élément exactement comme prévu, à savoir en mettant le numéro de l’indice entre les
crochets.
tab[2]=254 ;
total=total+tab[3] ;
Vous pouvez obtenir le nombre d’éléments d’un tableau à l’aide d’une propriété particulière appelée length.
nb=tab.length ;
Vous pouvez redéfinir un tableau à n’importe quel moment, exactement comme si vous indiquiez son nombre d’éléments,
cependant attention : toutes les anciennes valeurs sont perdues.
Attention ici il y a un énorme piège, tellement gros que les débutants sous Java tombent tous dedans les deux pieds joints. Il
est possible en Java de faire ceci :
int[] t={2,7,9,10,11,14,17,18,20,22};
int[] copie;
copie=t ;
La dernière ligne donne l’impression que le tableau t est copié dans le tableau copie. Or Java fonctionne par référence. Le
principe est expliqué dans le point suivant sur la représentation mémoire et dans le chapitre Notions avancées. Ici, ce n’est pas
le tableau qui est copié : copie reçoit la référence du tableau t. Les variables copie et t référencent le même tableau : si vous
modifiez un élément de copie, vous modifiez l’élément correspondant de t puisqu’ils référencent le même tableau, le même
endroit dans la mémoire. L’exemple suivant met ceci en lumière : un élément de copie est modifié, puis on affiche l’élément
correspondant de t : c’est le même.
class chap5_tab1 {
public static void main(String[] args) {
int[] t={2,7,9,10,11,14,17,18,20,22};
int[] copie=t;
System.out.println(t[2]);
copie[2]=5;
System.out.println(t[2]);
Références de tableaux
- 4 -
© ENI Editions - All rigths reserved - Jonifar lina
98
