Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduzione
Obiettivo di questa dispensa mostrare quali sono gli strumenti offerti dal linguaggio Java per creare e manipolare array.
Array in Java
Un array una struttura che contiene dati dello stesso tipo base. Lutilizzo di array in Java prevede che siano svolte, nellordine, due importanti operazioni: la dichiarazione e la creazione. La dichiarazione di una variabile di tipo array ha la seguente sintassi: tipo_base[] id_variabile; Esempi int[] a; double[] b; String[] c;
dichiara una variabile array di nome a il cui tipo base int dichiara una variabile array di nome b il cui tipo base double dichiara una variabile array di nome c il cui tipo base String
La creazione dellarray dichiarato avviene mediante la seguente sintassi: id_variabile = new tipo_base [dim]; dove new uno speciale operatore di Java, il cui significato sar spiegato tra poco, e dim un intero che indica la dimensione dellarray. Esempi a=new int[10]; b=new double[6]; c=new String[2]; 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 dellarray. Questa sintassi scarsamente usata. Esempi int a[]=new int[10]; double b[]=new double[6]; String c[]=new String[2]; crea un array che pu contenere 10 interi crea un array che pu contenere 6 double crea un array che pu contenere 2 stringhe
x:
NULL
Loperatore new
La creazione della struttura array, contenente i valori del tipo base, avviene utilizzando loperatore new. Volendo creare larray x (ossia puntato da x) di interi, dichiarato in precedenza, e supponendo che la sua dimensione sia 5, dobbiamo scrivere: x= new int[5]; Solo dopo lesecuzione di questa istruzione avremo effettivamente a disposizione larray. Il valore di x non pi NULL ma coincide con lindirizzo di memoria del primo elemento dellarray.
x:
indici
Osservazioni
Inizializzazione di un array
Linizializzazione di un array (detta anche valorizzazione) consiste nellassegnare a ciascun elemento dellarray un valore iniziale. L operazione indispensabile per poter lavorare con variabili di questo tipo, cos come necessario assegnare un valore iniziale ad ogni variabile di tipo primitivo, prima di poterla utilizzare. Se larray contiene pochi elementi (come nel nostro esempio) possiamo assegnare direttamente ad ogni elemento il corrispondente valore. Per esempio, per inizializzare larray come indicato in figura
x:
100 0
50 1
81 2
23 3
7 4
indici
scriveremo: x[0]= x[1]= x[2]= x[3]= x[4]= 100; 50; 81; 23; 7;
Una notazione alternativa, utilizzabile quando i valori dellarray siano noti in partenza e non debbano essere acquisiti in input, consiste nel valorizzare larray in fase di dichiarazione: int[] x= {100, 50, 81, 23, 7}; Osservate che, in questo caso, non pi necessario creare larray con loperatore new. Se non necessario mantenere il riferimento allarray in una variabile, si pu definire un array anonimo con la seguente sintassi: new int[] {100, 50, 81, 23, 7}; Osservazione Le soluzioni presentate sono valide solo se la dimensione dellarray limitata. Infatti, immaginate quali potrebbero essere le difficolt se larray da inizializzare contenesse un numero elevato di elementi (es. superiore a 100). Nel seguito vedremo come sia possibile risolvere questo problema attraverso luso di cicli con contatore.
Quest'opera stata rilasciata con licenza Creative Commons Attribution-ShareAlike 3.0 Unported. Per leggere una copia della licenza visita il sito web http://creativecommons.org/licenses/by-sa/3.0/ o spedisci una lettera a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
Autore: Cinzia Bocchi Ultimo aggiornamento: 20/09/11