Cours 3, 24 janvier 2005
A) Tableaux classiques
1- Déclaration et initialisation:
a) Manière 1
int age[]={27,18,15,42}, nbPers=age.length; // int est le type… style C,C++
b) Manière 2
int[] nbCaf={2,0,1,5,3}; // int[] est le type … style Java
2- Schéma d'un tableau classique en Java
- Peu importe la manière de déclarer, le java considère le tableau comme un OBJET
nbCafe pointe vers les 5 cases mémoire …
Si nbCafe = age;
L'objet à gauche réfère vers la même zone mémoire que celui à droite.
nbCafe.length vaut maintenant 4…
3- Manière en "pratique"
Déclarer+Initialiser est souvent un moyen rapide pour apprendre Java.
final int MAX_PERS = 30;
int[] age = new int[MAX_PERS]; il rempli le tableau de 0 !!!
double[] taille = new double[MAX_PERS]; il rempli le tableau de 0.0 !!!
Référence versus tableau
- Déclarer et initialiser un tableau avec les 5 tailles suivantes: 1.72, 1.58, 1.80, 1.76, 1.75
- ajouter 2 cm à chaque taille
- déterminer et afficher les tailles maxi et mini
public class Tableau {
static void ajouter(double[] taille, double quantite) {
for (int i=0, nbPers=taille.length;i < nbPers; i++)
taille[i] += quantite;
}
static double maximale(double[] tableau, int nbElem);
double plugrand = Double.MIN_VALUE;
for (int i=0; i < nbElem; i++)
if (tableau[i] > plusgrand) plusgrand = tableau[i];
}
……… void main(…) {
double[] taille = {1.72, 1.58, 1.80, 1.76, 1.75};
ajouter(taille,0.02); // équivalent à Tableau.ajouter (forme 2!)
s.o.p("la taille maxi "+maximale(taille,taille.length)+etc…
}
}
*** Comme c'est un tableau, on peut modifier le contenu. Si cela n'avait pas été le cas, les variables
auraient été créées et détruites! *** (on passe en qque sorte l'adresse du tableau en param)