• Embed Doc
  • Readcast
  • Collections
  • CommentGo Back
Download
 
Array in Java
Introduzione
Obiettivo di questa dispensa è mostrare quali sono gli strumenti offerti dallinguaggio Java per creare e manipolare array.
Array in Java
Un array è una struttura che contiene dati dello stesso
tipo base
. L’utilizzo diarray in Java prevede che siano svolte, nell’ordine, due importanti operazioni: ladichiarazione e la creazione.La
dichiarazione
di una variabile di tipo array ha la seguente sintassi:
tipo_base
[]
 
id_variabile
;Esempi
int[] a;dichiara una variabile array di nome a il cui tipo base è intdouble[] b;dichiara una variabile array di nome b il cui tipo base è doubleString[] c;dichiara una variabile array di nome c il cui tipo base è StringLa
creazione
dell’array dichiarato avviene mediante la seguente sintassi:
id_variabile
 
=
 
new
 
tipo_base
 
[
dim
];
dove
new 
è uno speciale operatore di Java, il cui significato sarà spiegato trapoco, e
dim
è un intero che indica la dimensione dell’array.
Esempi
a=
new
 int[10];crea un array che può contenere 10 interib=
new
 double[6];crea un array che può contenere 6 doublec=
new
String[2];crea un array che può contenere 2 stringhe
Sintassi abbreviata
tipo_base
[]
 
id_variabile
=
 new
 
tipo_base
 
[
dim
];Esempi
int[] a=
new
 int[10];double[] b=
new
 double[6];String[] c=
new
String[2];
Sintassi alternativa
Le parentesi quadrate possono essere spostate dopo il nome dell’array. Questasintassi è scarsamente usata.
Esempi
inta[]=
new
 int[10];doubleb[]=
new
 double[6];String c[]=
new
String[2];
Autore: Cinzia BocchiUltimo aggiornamento: 20/09/11
1
 
Confronti con i dati primitivi
Le domande che potete porvi sono:-
Come mai per usare una variabile array non basta dichiararla, come avvieneinvece per le variabili di tipo primitivo, ma è necessario anche crearlaesplicitamente? 
-
Che differenza esiste tra dichiarazione e creazione? 
La dichiarazione di una variabile di tipo primitivo, per esempiointx;indica che, in fase di esecuzione, avremo bisogno di uno spazio in memoria doveconservare
il valore
di tale variabile e che lo spazio di memoria richiesto è di 32bit.La dichiarazione di una variabile array, per esempioint[] x;indica che, in fase di esecuzione, avremo bisogno di uno spazio in memoria doveconservare
il riferimento
all’array che andremo a creare successivamente.Pertanto x non contiene un valore, bensì un indirizzo di memoria.Le variabili che contengono indirizzi di memoria vengono dette, in Java,
variabili reference
(riferimento) e lo spazio occupato dipende dalla piattaforma in uso. Inaltri linguaggi di programmazione, le variabili destinate a contenere indirizzi,sono dette tipicamente
 puntatori 
. Entrambi i termini sono giustificati dal fattoche la variabile reference “fa riferimento” o “punta” alla struttura contenenteeffettivamente i valori.Per default, il valore iniziale di una variabile reference è
NULL
, intendendo conquesto che la variabile “punta a nulla”.
L’operatore new
La creazione della struttura array, contenente i valori del tipo base, avvieneutilizzando l’operatore
new
. Volendo creare l’array x (ossia “puntato da x”) diinteri, dichiarato in precedenza, e supponendo che la sua dimensione sia 5,dobbiamo scrivere:x=
new
 int[5];Solo dopo l’esecuzione di questa istruzione avremo effettivamente a disposizionel’array. Il valore di x non è più NULL ma coincide con l’indirizzo di memoria delprimo elemento dell’array.
Autore: Cinzia BocchiUltimo aggiornamento: 20/09/11
x:
NULL
2
 
Osservazioni
1.
Spesso, al posto della costante esplicita che indica la dimensione dell’array, siusa una costante simbolica, che sarà per ovvi motivi di tipo intero:final intDIM= 5; int[] x=
new
 int[DIM];Una volta fissata la dimensione di un array, non è più possibile modificarla in fasedi esecuzione. Per questo motivo si dice che gli array sono
strutture di memoriastatiche
, intendendo con questo che la dimensione fissata non può più variare.
2.
Un array mantiene al suo interno l’informazione della sua dimensione. Perrichiamare questa informazione si fa seguire al nome dell’array un punto e laparola
length
. Per esempio:x.
length
restituisce il valore 5.
3.
Ogni elemento dell’array x si comporta esattamente come una variabile di tipointero, con la differenza che non ha un nome proprio. Per riferirci ad uno diquesti elementi occorre scrivere il nome dell’array seguito, tra parentesiquadrate, dall’indice che ne indica la posizione occupata nella struttura. Peresempio, per accedere al primo elemento (indice 0) si scrive x[0]; peraccedere al secondo elemento si scrive x[1] e covia. In generale, lanotazione usata per accedere all’elemento di indice i (i=0,1,2…,DIM) è:x[i]4.Gli indici di un array in Java partono sempre da zero e vanno fino a DIM-1.
Inizializzazione di un array
L’inizializzazione di un array (detta anche
valorizzazione
) consiste nell’assegnarea ciascun elemento dell’array un valore iniziale. L’ operazione è indispensabileper poter lavorare con variabili di questo tipo, così come è necessario assegnareun valore iniziale ad ogni variabile di tipo primitivo, prima di poterla utilizzare. Sel’array contiene pochi elementi (come nel nostro esempio) possiamo assegnaredirettamente ad ogni elemento il corrispondente valore. Per esempio, perinizializzare l’array come indicato in figura
Autore: Cinzia BocchiUltimo aggiornamento: 20/09/11
x:
01234
indici
3
of 00

Leave a Comment

You must be to leave a comment.
Submit
Characters: ...
You must be to leave a comment.
Submit
Characters: ...