1. java-hell.de
  2. Thèmes
  3. Tableaux
Thème 5 sur 11

Apprendre les tableaux en Java – Exercices en ligne

Un tableau stocke plusieurs valeurs sous un seul nom. Tu crées des tableaux, tu lis des éléments par leur indice, tu récupères leur longueur et tu les parcours avec une boucle, sans oublier le classique ArrayIndexOutOfBoundsException.

Les exercices

Ce que tu vas apprendre dans ce thème

  1. Ton premier tableau
  2. Longueur d'un tableau
  3. Parcourir un tableau
  4. Dernier élément
Exercice 1 sur 4

Ton premier tableau

Un tableau (array) stocke plusieurs valeurs du même type :

int[] nombres = {10, 20, 30};

Tu accèdes à chaque valeur par son indice — et il commence à 0 :

nombres[0]  // 10
nombres[1]  // 20
nombres[2]  // 30

Change l'indice pour que Mer s'affiche.

Code de départ
void main() {
    String[] jours = {"Lun", "Mar", "Mer", "Jeu", "Ven"};
    IO.println(jours[0]);
}
Contexte
Les tableaux en mémoire

Un tableau est un seul bloc de mémoire continu. int[5] réserve 5 × 4 octets = 20 octets d'un seul tenant. C'est pour ça que l'accès par indice est ultra rapide — la JVM fait juste le calcul : adresse de départ + indice × taille d'un élément.

Les tableaux ont une taille fixe, définie à leur création, qui ne peut plus jamais changer. Si tu as besoin d'une taille qui grandit, utilise ArrayList.

Exercice 2 sur 4

Longueur d'un tableau

Avec .length, tu obtiens le nombre d'éléments :

int[] nombres = {10, 20, 30};
IO.println(nombres.length); // 3

Remplace ??? pour afficher la longueur du tableau.

Code de départ
void main() {
    String[] couleurs = {"Rouge", "Vert", "Bleu", "Jaune"};
    IO.println(???);
}
Contexte
.length sur les tableaux vs. les chaînes

Sur les tableaux, length est un attribut (sans parenthèses) : arr.length. Sur les chaînes de caractères, length() est une méthode (avec parenthèses) : str.length(). Tout le monde les confond au début — pas de panique.

La raison : les tableaux sont une construction spéciale intégrée directement au langage. Ce sont des objets, mais ils n'ont pas de méthode à eux pour ça — juste un attribut length intégré et en lecture seule. Les chaînes, elles, sont des objets normaux de la classe String, et elles te donnent leur longueur via une méthode.

Exercice 3 sur 4

Parcourir un tableau

Avec for-each, tu parcours tous les éléments — plus simple qu'avec un indice :

for (String s : monTableau) {
    IO.println(s);
}

Lis-le comme : "Pour chaque String s dans monTableau".

Complète la boucle pour que tous les fruits s'affichent.

Code de départ
void main() {
    String[] fruits = {"Pomme", "Poire", "Cerise"};

    for (String ???) {
        IO.println(fruit);
    }
}
Contexte
Le for-each sous le capot

La boucle for-each, c'est du sucre syntaxique — en coulisses, le compilateur la transforme en boucle for classique. Pour les tableaux, il utilise un indice ; pour les collections, un Iterator.

Inconvénient : tu n'as pas accès à l'indice. Si tu en as besoin, utilise la version classique for(int i=0; ...).

Exercice 4 sur 4

Dernier élément

Le dernier élément a toujours l'indice length - 1 :

nombres[nombres.length - 1]

Remplace ??? pour afficher le dernier élément — quelle que soit la longueur du tableau.

Code de départ
void main() {
    String[] animaux = {"Chien", "Chat", "Oiseau", "Poisson"};
    IO.println(???);
}
Contexte
ArrayIndexOutOfBoundsException

Si tu accèdes à l'indice 4 d'un tableau de 4 éléments, tu obtiens une erreur à l'exécution — le programme plante. Java vérifie les limites à chaque accès (bounds checking).

Des langages comme le C ne font pas cette vérification — là, tu lis simplement ce qui traîne en mémoire (une source classique de failles de sécurité !). Java est plus sûr sur ce point.

Assez lu. À toi de jouer.

Dans le tutoriel, tu écris le code toi-même, tu cliques sur Exécuter et tu vois tout de suite si ton programme marche. Sans JDK, sans IDE, sans prise de tête.

S'entraîner sur Tableaux dans le navigateur