samedi 3 novembre 2012

Les tableaux java


Ce sont des objets : ils sont donc dérivés de la classe Object. Il est possible d'utiliser les méthodes héritées telles que equals() ou getClass().

Le premier élément d'un tableau possède l'indice 0.

1. La déclaration des tableaux


Java permet de placer les crochets après ou avant le nom du tableau dans la déclaration.

Exemple :



int tableau[] = new int[50]; // déclaration et allocation
OU int[] tableau = new int[50];
OU int tab[]; // déclaration
tab = new int[50]; //allocation

Java ne supporte pas directement les tableaux à plusieurs dimensions : il faut déclarer un tableau de tableau.

Exemple :
float tableau[][] = new float[10][10];

La taille des tableaux de la seconde dimension peut ne pas être identique pour chaque occurrence.

Exemple :
int dim1[][] = new int[3][];
dim1[0] = new int[4];
dim1[1] = new int[9];
dim1[2] = new int[2];

Chaque élément du tableau est initialisé selon son type par l'instruction new : 0 pour les numériques, '\0' pour les caractères, false pour les booléens et null pour les chaines de caractères et les autres objets.

2. L'initialisation explicite d'un tableau


Exemple :
int tableau[5] = {10,20,30,40,50};
int tableau[3][2] = {{5,1},{6,2},{7,3}};

La taille du tableau n'est pas obligatoire si le tableau est initialisé à sa création.

Exemple :
int tableau[] = {10,20,30,40,50};

Le nombre d'éléments de chaque ligne peut ne pas être identique :

Exemple :
int[][] tabEntiers = {{1,2,3,4,5,6},
{1,2,3,4},
{1,2,3,4,5,6,7,8,9}};

3. Le parcours d'un tableau

Exemple :
for (int i = 0; i < tableau.length ; i ++) { ... }

La variable length retourne le nombre d'éléments du tableau.

Pour passer un tableau à une méthode, il suffit de déclarer les paramètres dans l'en-tête de la méthode

Exemple :
public void printArray(String texte[]){ ...}

Les tableaux sont toujours transmis par référence puisque ce sont des objets.

Un accès a un élément d'un tableau qui dépasse sa capacité, lève une exception du type java.lang.arrayIndexOutOfBoundsException.

Aucun commentaire:

Enregistrer un commentaire