INF1563 Programmation I


Introduction


Nous voulons avoir des objets correspondant aux mois.
Devons-nous les créer de la manière suivante ?

Mois jan; Mois fevrier; Mois mars; Mois avril; ... Mois decembre;
Le problème serait encore plus difficile pour traiter les objets dont la quantité est plus élevée.


Qu'est-ce qu'un tableau ?

Exemple :

int tab[];
tab = new int[6]; // un tableau de 6 entiers (un entier prend 4 octets en mémoire)
Indice : 0 1 2 3 4 5
Éléments : élément 1 élément 2 élément 3 élément 4 élément 5 élément 6
Octets : 0 4 8 12 16 20 24

Déclaration d'un tableau

type[] nomDuTableau;
nomDuTableau = new type[combien];


Initialisation

Utilisation d'un tableau

Exemple :
// On crée et on affiche un tableau des
// 100 premières valeurs entières élevées au carré
int [] carres = new int[100];

for (int valeur = 0; valeur < 100; valeur++) {
  int carre = valeur * valeur;
  carres[valeur] = carre;
}

for (int valeur = 0; valeur < 100; valeur++) {
  System.out.println(valeur + "² = " + carres[valeur]);
}
Exemple :

La fonction main affiche la liste des arguments du programme fournis sur la ligne de commande.

public class TesterArguments  {
  public static void main(String [] args) {

    // On affiche les arguments de la ligne de commande (s'il y en a).
    int longueur = args.length;

    if (longueur > 0) {
      System.out.println("Voici la liste des arguments de la commande :");
      for (int i = 0; i < longueur; i++) {
        System.out.println(args[i]);
      }
    }
  }
}

L'exécution du programme à partir de la console avec la commande

java TesterArguments INF1563 INF4023 INF4123 MAT1153 GEN1623

produira les résultats suivants :

Voici la liste des arguments de la commande :
INF1563
INF4023
INF4123
MAT1153
GEN1623

Passage d'un tableau en paramètre

Exemple :

int tab[] = new int[3];
// ...
imprimer(tab);
// ...
void imprimer(int[] tableau) {
  System.out.print (tableau[0] + " ");
  System.out.print (tableau[1] + " ");
  System.out.print (tableau[2]);
}

Avantages

Limites

Quiz

La variable tab a été initialisée avec l'appel new int[6]; elle se trouve à l'adresse 2040. Quelle sera l'adresse de la variable tab[3] ?

  1. 2043
  2. 2044
  3. 2048
  4. 2052
  5. 2053
  6. 2056