Home E-Books Effetti speciali e sviluppo giochi in Java Arrays

Effetti speciali e sviluppo giochi in Java(TM) -Arrays

di Anibal Wainstein (traduzione di Hanami Solutions)

4.0.3 Arrays

Siamo arrivati al punto in cui non possiamo operare oltre senza ricorrere agli arrays. Un array è un gruppo di variabili tutte dello stesso tipo. Potete paragonare gli arrays ad un comodino e i suoi cassetti. Immaginate di avere un cassetto che rappresenti una variabile, il cassetto è parte di un comodino assieme ad altri cassetti identici. Il comodino che contiene il cassetto in questo caso è l'array. Una variabile in un array viene chiamata elemento. Quando inizializzate un array dovete sempre specificare quante variabili conterrà. Questo si fa con la parola chiave new. Potete anche specificare il numero di dimensioni che un array avrà, ma non ce ne occuperemo qua. Immaginate ora di voler creare un array di 5 numeri interi, allora prima dichiariamo un array di interi:

int myarray[];

Le due parentesi quadre [] vengono usate per indicare che la variabile "myarray" è array. Ora dobbiamo inizializzare l' array e specificare quanti elementi conterrà:

myarray = new int[5];

l' array "myarray" ora contiene 5 interi, potete accederli digitando:

int firstelement=myarray[0];
int secondelement=myarray[1];
int thirdelement=myarray[2];
int fourthelement=myarray[3];
int lastelement=myarray[4];

Il numero tra parentesi quadre punta al primo elemento dell' array e viene chiamato indice. Fate attenzione che gli arrays partono sempre da zero, il che significa che al primo elemento si accede specificando zero (e non 1 come si potrebbe pensare). Nell'esempio qua sopra accediamo all'ultimo intero scrivendo 4. Pertanto 4 è il massimo per l'indice numerico anche se la dimensione dell'array è 5. Potete anche inizializzare e dichiarare la dimensione di un array in una singola riga:

int myarray[] = new int[5];

Pensate di sapere a questo punto tutto quello di cui avete bisogno sugli arrays? Non ancora... Notate bene che quello che abbiamo dichiarato finora non aveva classi come elementi. Adesso dedicheremo attenzione al processo di creazione di arrays di classi. Supponiamo di voler creare un array di 30 oggetti String:

String mystrings[] = new String[30];

Sembra lo stesso esempio di cui sopra ma "int" è stato scambiato con "String"! Sì, certo! Ma questo non significa che abbiamo già finito. Quello che siete riusciti a creare sono solo un array con riferimenti. Ora dovete inizializzare ogni singolo elemento dell'array:

mystrings[0]=new String("String 0");
mystrings[1]=new String("String 1");
mystrings[2]=new String("String 2");
...
mystrings[29]=new String("String 29");

Sembra una sgobbata, davvero? Bene, abituatevi! A volte potete trovare modi intelligenti di automatizzare questa fase di inizializzazione degli elementi. L'esempio qua sopra può essere scritto come segue piuttosto:

String mystrings[]=new String[30];
for (int i=0; i<30; i++) { mystrings[i]=new String("String "+i); }

Osservate bene che se cercate di aggiungere un intero, float o double a uno String allora il numero viene automaticamente convertito ad un oggetto String prima di essere aggiunto. Ho usato questo trucco qua sopra nella inizializzazione della stringa ("String " + i). È un grande sollievo che gli arrays con interi e numeri in virgola mobile abbiano sempre valore iniziale zero, così non c'è bisogno di inizializzarli se vi capita di dipendere da ciò.

 


Pagina seguente >>