Programmation - A. Cohen
Cours

Les tableaux

Les tableaux sont considérés comme des objets.

Il s'agit d'une structure de données contenant un groupe de valeurs de même type.

Ainsi, un tableau est un ensemble d'éléments d'un même type : par exemple, un tableau d'entiers, un tableau de chaînes de caractères, ...

Syntaxe :
  • Tableau à une dimension :

vecteur int idEtudiant[];

char[] grades;

  • Tableau à plusieurs dimensions :

int grades[][][];

matrices (autant de [] que de dimensions)

Complément :

Les tableaux - compléments

Pour introduire une variable de type tableau il vous faut utiliser la syntaxe [].

Néanmoins les crochets peuvent être placés à différents endroits. Pour information, un tableau (tout comme les objets et en fait un tableau est un objet en Java) est référencé par un pointeur : à défaut d'initialisation, le tableau aura la valeur null et devra être initialisé ultérieurement. L'initialisation d'un tableau s'effectue obligatoirement via l'opérateur new.

Création d'un tableau

Fondamental :

La création d'un tableau passe par trois étapes

  • 1 Déclaration = déterminer le type du tableau

  • 2 Dimensionnement = déterminer la taille du tableau

  • 3 Initialisation = initialiser chaque cellule du tableau

Déclaration

La déclaration précise simplement le type des éléments du tableau

int[] monTableau;

Cette déclaration peut s'écrire également :

int monTableau[];

Dans la plupart des autres langages, la taille du tableau doit être indiquée dans la déclaration

Dans Java, vous ne spécifiez la taille du tableau que lors de sa création et/ou de son initialisation et c'est à ce moment que la mémoire appropriée est allouée

La déclaration d'un tableau ne lui alloue donc pas de mémoire

Dimensionnement

Le nombre d'éléments du tableau sera déterminé quand l'objet tableau sera effectivement créé en utilisant le mot clé new

La taille déterminée à la création du tableau est fixe, elle ne pourra plus être modifiée par la suite

Exemple :

int [] tb; ==> Définit un tableau d'entiers non encore initialisé.

int [] tb = new int[10]; ==> Définit un tableau de dix entiers. Il n'est plus possible de changer la taille de ce tableau.

Exemple :

int idEtudiant[] = new int[20];

//cette instruction crée un tableau de 20 elts entiers.

char[] grades = new char[20];

//Crée tabl de 20 elts char.

float[][] coordonnées = new float[10][5];

//matrice de 10x5 éléments float.

On peut d'abord déclarer le tableau puis le dimensionner :

int[] monTableau;

// Déclaration

monTableau = new int[3];

// Dimensionnement

Ces deux instructions peuvent s'écrire comme suit :

int[] monTableau = new int[3];

// dans ce cas on déclare et on dimensionne

Initialisation

Java compte les indices à partir de 0

Cela veut dire que les éléments d'un tableau de 20 éléments seront numérotés de 0 à 19

Attention : vérification de l'appartenance d'un indice à l'intervalle spécifié par les bornes

Il y a erreur si vous accédez un élément en dehors de ces bornes

Pour connaître la longueur du tableau on peut utiliser la méthode length

length donne la dimension du tableau fixée à l'initialisation

int idEtudiant[] = new int[20];

...............

...............

for (int i = 0 ; i <= idEtudiant.length -1; i++)

System.out.println (idEtudiant[i]);

Conseil : A retenir

Il est possible de connaître la taille d'un tableau à n'importe quel moment.

Pour ce faire il faut demander au tableau la valeur de son attribut length.

Exemple d'utilisation

Une fois le tableau créé, on ne peut plus modifier sa taille, par contre on peut changer un élément individuel du tableau

Il est possible d'initialiser un tableau en donnant immédiatement la liste de ses éléments placés entre accolades et séparés par des virgules.

String jour[]= {"lundi","mardi","mercredi",

"jeudi","vendredi", "samedi","dimanche"};

Exemple :

Ecrire un programme qui utilise ce tableau pour afficher les jours de la semaine

class tableau1

{

public static void main(String[] argv)

{

String jour[]= {"lundi","mardi", "mercredi",

"jeudi","vendredi", "samedi","dimanche"};

int i ;

for (i=0; i <= jour.length - 1 ; i++)

System.out.println("le jour " + (i+1) + " vaut " + jour[i] );

}

}

Les tableaux (page suivante)Structures de base (page Précédente)
AccueilImprimerRéalisé avec SCENARI