ePrometeusCorsoJavaJava
testi articoli
Testi Articoli  Download
Home | Basi | Espressioni | Comandi | Classi | Ereditarieta | Eccezioni | Thread | Utilita | 
CorsoJava è ora Video! Free for all!
Clicca Qui!

Comandi
Comandi
if
switch
fall-through
while
do-while
for
interruzioni
label
return
eccezioni
Stringhe/Array
Array
Caratteristiche
Creazione
Stringhe

<<< Caratteristiche >>>
Gli array hanno un campo length, il numero di elementi che contiene.

Le istanze delle classi hanno dei campi, di cui abbiamo visto già qualcosa nell'introduzione. Siccome le schiere sono oggetti, possono avere campi, in particolare ne hanno uno: lenght. Questo campo contiene il numero di elementi della schiera.

Notare che di una schiera, quando viene creata, viene definito il numero di elementi, per cui la lunghezza della schiera è immutabile. In particolare, non è possibile assegnare il campo lenght, nè esistono operazioni che permettono di cambiarlo. Se si vuole ottenere da una data schiera, un'altra schiera con un numero di elementi diverso (per esempio senza il primo o l'ultimo), si deve creare una nuova schiera, e bisogna ricopiare, dalla vecchia schiera, gli elementi che servono nella nuova. C'è una funzione di sistema, System.arrayCopy, che semplifica e velocizza questa operazione.

Si accede agli elementi di un array con l'operatore []

Una schiera è una raccolta di elementi, che per comodità vengono maneggiati come un tutt'uno. Ma è altrettanto importante poter esaminare, e utilizzare, i singoli elementi della schiera. Infatti l'operazione principale che effettuare è quella di accesso ad un elemento, o indicizzazione. L'operatore di indicizzazione sono le parentesi quadre.

Es. ax[i] accede all' i-simo elemento di ax

L'indice è un numero intero, che specifica quale elemento della schiera si vuole utilizzare. Se abbiamo una schiera di interi, l'espressione ax[i] è di tipo intero. Analogamente se abbiamo una schiera di stringhe as, usando as[i] otteniamo una stringa.

Notare che gli indici vanno da 0 a ax.length-1

I valori degli indici partono da 0. Curiosamente se una schiera ha 10 elementi, questi elementi sono numerati da 0 a 9. Un errore che si commette facilmente è utilizzare il valore del campo length per accedere all'ultimo elemento. Scrivere a[a.length] scatena una condizione di errore, che in Java viene gestita generando una eccezione. In pratica nel punto in cui viene eseguita quella espressione, l'esecuzione non continua ma salta ad un gestore di errori. Vedremo poi che l'errore che l'errore generato è ArrayIndexOutOfBoundException, e che l'eccezione causa un ritorno al chiamante del metodo che lo contiene.

// Stampa gli argomenti sulla riga di comando
class C { 
    public static
    void main(String[]args) { 
          for(int i=0; i<args.length; i++) 
              System.out.println(args[i]); 
     } 
}

Questo listato è un idioma, ovvero un pezzo di codice frequente e ricorrente nei programmi. In generale per accedere in ordine a tutti gli elementi di una schiera si usa un ciclo che va da 0 e finisce prima della lunghezza. L'esempio mostra come si fa a stampare gli argomenti sulla riga di comando. Ogni classe può avere un metodo main, da cui inizia l'esecuzione programmi, a cui viene passato una schiera di stringhe. In questa schiera ci sono tutti gli argomenti passati sulla riga di comando. Ci sarebbe anche da notare che main è public e static, ma per affrontare adeguatamente questi concetti dobbiamo sapere molte cose sulle classi che vedremo via via.

ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com