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 >>
|