Corso di Laurea in Biotecnologie
Informatica
(Programmazione)
Array
Anno Accademico 2009/2010
1
Gli array
In programmazione un array (o vettore)
rappresenta una collezione di N successive
locazioni di memoria sul calcolatore
destinate a contenere dati. Esso:
 possiede un unico nome, associatogli
tramite un identificatore
 può contenere N valori di uno stesso tipo
L’array in programmazione estende il concetto di variabile
2
Gli array
Un array, prima di poter essere utilizzato,
deve essere dichiarato. La dichiarazione
comporta:
 il numero N di locazioni di memoria (che è la
dimensione dell’array)
l’assegnazione di un identificatore (nome)
attraverso cui accedere al contenuto delle N
locazioni di memoria
 la specifica del tipo di valore che le N
locazioni di memoria possono contenere
3
Dichiarazione di array
In Java, la dichiarazione di un array (che è
un “oggetto” complesso) ha la seguente
forma generale:
<type>[] <array_id>=new <type>[<size>];
In cui:
<size>  numero N di locazioni di cui è composto
l’array (dimensione dell’array)
<type>  tipo di dato che possono contenere le N
locazioni
<array_id>  nome da usare per accedere al
contenuto dell’array
4
Dichiarazione di array
In Java, la dichiarazione di un array ha la
seguente forma generale:
<type>[] <array_id>=new <type>[<size>];
Esempio di dichiarazione di un array di 3
interi di tipo int:
Identificatore (nome) dell’array
int[] isArray=new int[3];
L’array di nome isArray può contenere tre valori
di tipo int. Con questa dichiarazione però i valori
contenuti sono ancora indefiniti.
5
Dichiarazione di array
La dichiarazione di un array in Java può
comprendere anche l’inizializzazione del suo
contenuto. La forma generale di
dichiarazione con inizializzazione è:
<type>[] <array_id>={<value_list>};
In cui:
<value_list>  lista di valori con cui
inizializzare l’array (separati da ‘,’ e dello stesso
tipo specificato in <type> )
6
Dichiarazione di array
… ad esempio:
int[] isArray={7,5,9};
Questa dichiarazione costruisce
automaticamente un array di tipo int la cui
dimensione è 3, in quanto la lista a destra del
simbolo ‘=‘ è composta da 3 valori. I valori di
isArray sono quindi inizializzati a 7 (il primo
valore), 5 (il secondo valore) e 9 (il terzo
valore).
7
Dichiarazione di array
ATTENZIONE! L’inizializzazione di un array
tramite lista di valori separati da ‘,’ e
racchiusi tra parentesi graffe, può avvenire
solo in fase di dichiarazione. Quindi NON SI
PUO’ scrivere quanto segue:
int[] isArray=new int[3];
isArray={7, 5, 9};
L’assegnamento di valori ad un array dopo la
sua dichiarazione avviene come mostrato
dopo…
8
Dichiarazione di array
public class EsempioDichiarazioneArray1{
public static void main(String arg[]) {
byte[] isByteArray=new byte[10];
short[] isShortArray=new short[1000];
int[] isIntArray=new int[130];
long[] isLongArray=new long[345];
float[] isFloatArray=new float[205];
double[] isDoubleArray=new double[7];
char[] isCharArray=new char[23];
boolean[] isBooleanArray=new boolean[679];
}
}
Questo programma dichiara una serie di array di tipi primitivi
Java. I valori degli array dopo le dichiarazioni sono indefiniti.
9
Dichiarazione di array
public class EsempioDichiarazioneArray2{
public static void main(String arg[]) {
byte[] isByteArray={2,5,6,9};
short[] isShortArray={100,345,234};
int[] isIntArray={1000,3000,4000,1500};
long[] isLongArray={2,1100,1000000};
float[] isFloatArray={1.2,4.5,6.9};
double[] isDoubleArray={2.3333,4.555555};
char[] isCharArray={‘a’,’b’,’c’,’d’,’e’};
boolean[] isBooleanArray={true,true,false};
}
}
Questo programma dichiara una serie di array di tipi primitivi
Java inizializzandoli con una lista di valori.
10
Accesso ai valori di un array
In Java il contenuto di una cella di memoria di un
array di dimensione N è accessibile attraverso l’indice
che fornisce la sua posizione rispetto alla prima cella
dell’array. Si consideri il seguente array di 12 interi
schematizzato come una successione di quadrati (in
rosso sono evidenziati gli indici associati ad ogni
cella):
10 9 8 13 2 5 5 8 11 30 40 7
0 1 2 3 4 5 6 7 8 9 10 11
La prima cella ha indice di posizione 0 (e in questo caso contiene l’intero
10), la seconda cella ha indice 1 (e in questo caso contiene l’intero 9), etc.,
l’ultima cella ha indice 11 (e in questo caso contiene l’intero 7). Da notare
che in genere l’ultima cella di un array ha indice di posizione pari a N-1,
dove N è la dimensione dell’array.
11
Accesso ai valori di un array
La sintassi Java per accedere al contenuto
di una cella di un array è la seguente:
<array_id>[<position_index>]
In cui:
<position_index>  posizione della cella a cui
si vuole accedere, rispetto alla prima cella
dell’array (che ha indice di posizione pari a 0)
12
Accesso ai valori di un array
Il codice seguente:
char[] cArray={‘a’,’b’,’c’};
System.out.println(cArray[1]);
dichiara un array di char, lo inizializza con una
lista di 3 caratteri e poi stampa il contenuto in
posizione di indice 1 (cioè il secondo valore di
cArray).
Quindi l’output è:
b
13
Accesso ai valori di un array
Il codice seguente:
int[] iArray=new int[4];
iArray[0]=10;
iArray[1]=20;
iArray[2]=30;
iArray[3]=40;
dichiara un array di 4 interi di tipo int, e poi
assegna come primo valore (in posizione 0) l’intero
10, come secondo valore (in posizione 1) l’intero
20, come terzo valore (in posizione 2) l’intero 30
e come quarto valore (in posizione 3) l’intero 40. 14
Manipolazione di array
In Java la sintassi per ottenere la dimensione N
di un array è la seguente:
<array_id>.length;
dove <array_id> è l’identificatore dell’array.
Ad esempio il seguente codice:
int[] iArray={2,4,6};
int lunghezza;
lunghezza=iArray.length;
System.out.println(lunghezza);
stampa la dimensione di iArray che è 3
15
Scarica

Array