Telechargé par arnaud olivier

FBarthelemy S5-2

publicité
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
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
exemple
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
tab :
0 1 2
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
17 9 10 12 13
8 / 14
5 cases
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
I
I
I
0 pour int
0.0 pour double
false pour boolean
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
I
I
opérations arithmétiques tab[1]*2
comparaisons, ordre tab[1] > 0
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)
Téléchargement