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:
######## #...#..# #.#...## #.#.#..# ########