Vous êtes sur la page 1sur 15

Ecrivez votre premier programme avec Java

Tableau
François Barthélemy
CNAM, Département Informatique, Équipe AISL

1 / 14 Tableau F. Barthélemy (CNAM)


Tableau
0 1 2 3 4
exemple
17 9 10 12 13
un tableau est une structure contenant plusieurs
données de même type
stocké dans la mémoire de l’ordinateur
les cases d’un tableau sont numérotées
la numérotation commence à 0
il y a des opérations sur le tableau entier
il y a des opérations sur une donnée du tableau

2 / 14 Tableau F. Barthélemy (CNAM)


Etapes de la vie d’un tableau
étape 1 : déclarer une variable qui donne un nom
au tableau
int[] tab ;
c’est une déclaration de variable normale : int[]
est le type des tableaux contenant des nombres
entiers.
étape 2 : créer le tableau dans la mémoire
tab = new int[5] ;
5 est le nombre de cases
à la création, toutes les cases contiennent 0
étape 3 : utiliser le tableau
3 / 14 Tableau F. Barthélemy (CNAM)
Utiliser un tableau
Exemple : int[] tab;
tab = new int[5];
chaque case du tableau est comme une variable
le nom d’une case : nom du tableau+numéro
entre crochet
tab[1] : nom de la case numéro 1
la case numéro 1 est la 2ème case du tableau
le nom d’une case peut apparaître à gauche d’une
affectation tab[1]=14 ;
le nom de la case peut apparaître dans un calcul :
System.out.println(tab[1]) ;
4 / 14 Tableau F. Barthélemy (CNAM)
Exemple
int[] tab;
tab = new int[3];
tab[1] = 5;
tab[2] = MOOC.readInt();

Mémoire
0 1 2
tab :
0 5 3

Clavier
3
5 / 14 Tableau F. Barthélemy (CNAM)
Calcul du numéro de case

le numéro de la case peut être le résultat d’un


calcul.

6 / 14 Tableau F. Barthélemy (CNAM)


Exemple de calcul de numéro de case

int[] tab;
tab = new int[3];
int num;
tab[1] = 5;
tab[2] = MOOC.readInt();
System.out.println("Quelle case?");
num = MOOC.readInt();
System.out.println(tab[num]);

7 / 14 Tableau F. Barthélemy (CNAM)


Tableaux et for

on utilise souvent for pour manipuler les tableaux


le numéro du tour de boucle = le numéro de la
case du tableau
il faut commencer à numéroter à partir de 0
le dernier tour doit avoir le numéro de la dernière
case
ce numéro est égal à la taille du tableau moins un
0 1 2 3 4
5 cases
17 9 10 12 13

8 / 14 Tableau F. Barthélemy (CNAM)


Exemple

Remplir un tableau avec des nombres entrés au clavier.

int[] tab = new int[5];


for (int num=0; num<5; num=num+1){
System.out.println("Entrez un nombre");
tab[num] = MOOC.readInt();
}

9 / 14 Tableau F. Barthélemy (CNAM)


Tableaux pour tous les types

pour chaque type java, on peut faire un tableau


boolean[], char[], double[], String[]
c’est le type du contenu des cases
les numéros de case restent des entiers (int)
à la création du tableau, une valeur du type dans
chaque case :
I 0 pour int
I 0.0 pour double
I false pour boolean
I des choses bizarres pour char et String

10 / 14 Tableau F. Barthélemy (CNAM)


Opérations

sur une case, opérations du type du contenu


par exemple, case de int[] : opérations du type int
I opérations arithmétiques tab[1]*2
I comparaisons, ordre tab[1] > 0
I paramètre de méthode Mooc.auSort(1,tab[1]) ;
sur le tableau complet, il n’existe pas d’opérations

11 / 14 Tableau F. Barthélemy (CNAM)


Manipulation des tableaux

on peut faire une affectation d’un tableau entier


exemple :

int[] tab1=new int[3];


int[] tab2;
tab1[0]=10;
tab2 = tab1;
System.out.println(tab2[0]);

12 / 14 Tableau F. Barthélemy (CNAM)


Taille d’un tableau

taille d’un tableau : nombre de cases


la taille est fixée à la création du tableau (new)
elle ne peut pas être changée
la taille n’est pas fixée lors de la déclaration de
variable
on peut mettre des tableaux de taille différentes
dans une variable à différents moments.

13 / 14 Tableau F. Barthélemy (CNAM)


Exemple

int[] tab;
tab = new int[5];
tab[0] = 10;
tab = new int[10];
System.out.println(tab[0]);

14 / 14 Tableau F. Barthélemy (CNAM)


The end

14 / 14 Tableau F. Barthélemy (CNAM)