int[][][] boite=new int[3][4][2];crée par exemple un tableau à trois dimensions 3 x 4 x 2. On accède à chacun de ses éléments par 3 indices : boite[0][2][1] par exemple.
Un tel tableau est considéré comme un "tableau de tableaux de tableaux " : Le tableau boite contient 3 tableaux boite[0], boite[1] et boite[2], qui contiennent chacun 4 tableaux : boite[0][0], boite[0][1].... , qui contiennent chacun 2 entiers.
Ainsi boite.length contient la valeur 3.
boite[0].length, boite[1].length et boite[2].length contiennnent tous la valeur 4.
boite[0][0].length et tous les champs similaires contient la valeur 2.
package initial; public class Multidim { public static void main(String[] args) { ConsoleTexte mc=new ConsoleTexte(); char [][] tableau2E={{'A','B','C'},{'D','E','F'},{'G','H','I'}}; mc.ecritln(tableau2E[0][2]); mc.ecritln(tableau2E[2][0]); for (int i=0;i<3;i=i+1){ for (int j=0;j<3;j=j+1){ mc.ecrit(tableau2E[i][j]); } } mc.ecrit('\n'); for (int i=0;i<3;i=i+1){ for (int j=0;j<3;j=j+1){ mc.ecrit(tableau2E[j][i]); } } } }Dans cette exemple la commande mc.ecritln(tableau2E[0][2]); cherche dans le premier triplet (indice 0), le troisième élément (indice 2), et affiche donc la lettre C.
La commande mc.ecritln(tableau2E[2][0]); affiche le premier élément du troisième triplet , donc la lettre G.
Ensuite les deux séries de deux boucles imbriquées permettent chacune d'afficher tous les éléments mais dans un ordre différent.
package initial;
public class Multidim {
public static void main(String[] args) {
ConsoleTexte mc=new ConsoleTexte();
char [][] tableau2E={{'A','B','C'},{'D','E','F'},{'G','H','I'}};
for (char[] sousTableau:tableau2E) { //sousTableau désignera successivement les trois sous-tableaux unidimensionnels de char contenus dans tableau2E
for (char element:sousTableau) { // element désignera successivement chacun des élément de sousTableau.
mc.ecritln(element);
}
}
}
}