tipo[][] identificatore;
in cui “tipo” ed “identificatore” rappresentano rispettivamente il tipo base dell’array ed il nome che ci consentirà di accedere ai dati in esso contenuti.
Nella realtà, Java organizza gli array multidimensionali come “array di array”; per questo motivo, non è necessario specificarne la lunghezza per ogni dimensione dichiarata, al momento della creazione: in altre parole, un array multidimensionale non deve essere necessariamente creato utilizzando una singola operazione “new”.
Nel prossimo esempio, rappresentiamo una tavola per il gioco della dama utilizzando un array a due dimensioni il cui tipo base è l’oggetto Pedina.
L’inizializzazione dell’oggetto viene effettuata riga per riga, un valore null nella posizione [i][j] identifica una casella vuota (Figura).
Pedina[][] dama = new Pedina[8][];
Pedina[] riga0 = {
new Pedina(“bianca”),null, new Pedina(“bianca”),null,
new Pedina(“bianca”),null, new Pedina(“bianca”),null
};
Pedina[] riga1 = {
null, new Pedina(“bianca”), null, new Pedina(“bianca”),
null, new Pedina(“bianca”), null, new Pedina(“bianca”)
};
Pedina[] riga2 = {
new Pedina(“bianca”),null, new Pedina(“bianca”),null,
new Pedina(“bianca”),null, new Pedina(“bianca”),null
};
Pedina[] riga3 = { null, null, null, null, null, null, null, null };
Pedina[] riga4 = { null, null, null, null, null, null, null, null };
Pedina[] riga5 = {
null, new Pedina(“nera”), null, new Pedina(“nera”),
null, new Pedina(“nera”), null, new Pedina(“nera”)
};
Pedina[] riga6 = {
new Pedina(“nera”),null, new Pedina(“nera”),null,
new Pedina(“nera”),null, new Pedina(“nera”),null
};
Pedina[] riga7 = {
null, new Pedina(“nera”), null, new Pedina(“nera”),
null, new Pedina(“nera”), null, new Pedina(“nera”)
};
dama[0] = riga0;
dama[1] = riga1;
dama[2] = riga2;
dama[3] = riga3;
dama[4] = riga4;
dama[5] = riga5;
dama[6] = riga6;
dama[7] = riga7;
Fonte: Java Mattone dopo Mattone