Kaksiulotteinen taulukko on paikallaan silloin, kun ohjelma käsittelee ruudukon muodossa olevaa tietoa.
Seuraava komento määrittelee tyhjän kaksiulotteisen taulukon, jonka korkeus on 3 ja leveys on 5:
int[][] taulu = new int[3][5];
Tämän komennon tuloksena on tyhjä taulukko:
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 |
Taulukon sisällön voi antaa myös suoraan määrittelyssä:
int[][] taulu = {{3, 1, 1, 7, 2},
{5, 2, 3, 1, 3},
{8, 5, 1, 2, 2}};
Tämän komennon tuloksena on seuraava taulukko:
| 3 | 1 | 1 | 7 | 2 |
| 5 | 2 | 3 | 1 | 3 |
| 8 | 5 | 1 | 2 | 2 |
Taulukon sisältöä voi käsitellä seuraavasti:
taulu[2][1] = 2; taulu[0][3] = 7; System.out.println(taulu[1][1]);
Seuraava koodi tulostaa koko taulukon sisällön:
for (int i = 0; i < taulu.length; i++) {
for (int j = 0; j < taulu[0].length; j++) {
System.out.print(taulu[i][j] + " ");
}
System.out.println();
}
Taulukkoon voi tallentaa vaikkapa labyrintin sisällön. Seuraavassa esimerkissä luku 0 tarkoittaa lattiaa ja luku 1 tarkoittaa seinää.
int[][] laby = {{1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 1, 0, 0, 1},
{1, 0, 1, 0, 0, 0, 1, 1},
{1, 0, 1, 0, 1, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1}};
for (int i = 0; i < laby.length; i++) {
for (int j = 0; j < laby[0].length; j++) {
if (laby[i][j] == 0) {
System.out.print(".");
} else {
System.out.print("#");
}
}
System.out.println();
}
Ohjelman tulostus on seuraava:
######## #...#..# #.#...## #.#.#..# ########