Gli array e le matrici

I tipi più semplici che le variabili possono assumere sono stati mostrati nella sezione precedente. Gli array sono variabili che contengono valori di quei tipi ma più di uno alla volta. Possono essere visti come delle cassettiere aventi un certo numero di cassetti, ognuno capace di contenere un unico tipo di valore, quello associato all'intero array.

Per esempio una variabile potrebbe contenere i valori 1, 5 e 7.

Sono caratterizzate da una lunghezza e dal tipo di valori che possono contenere.

Per dichiarare un array di un certo tipo, è sufficiente utilizzare le parentesi quadrate come segue:

  • int[] a;

  • boolean[] b;

  • String[] c;

  • ...

Le dichiarazioni precedenti differiscono da quelle delle variabili singole (dette anche scalari) per le parentesi quadre che seguono il tipo.

La lunghezza dell'array va specificata al momento della definizione della variabile. Esempi di definizioni sono i seguenti:

  • a=new int[5];

  • b=new boolean[2];

  • c=new String[2000];

NOTA: Ricorda che una definizione è possibile solo se si è effettuata prima la dichiarazione di quella variabile.

Nel primo caso abbiamo creato un array che contiene cinque numeri interi, nel secondo due valori booleani, nel terzo duemila stringhe di caratteri.

Ora sorge il problema di come reperire e come scrivere le informazioni all'interno delle singole celle di un array.
Nel caso di variabili scalari era semplice

  •  per scrivere un valore all'interno di una variabile si usava il comando <variabile>=<valore da attribuire>

  • per accedere al valore in essa contenuto era sufficiente riferirsi alla variabile stessa.

Ora una variabile è composta da più posizioni e serve un modo per scegliere una delle posizioni disponibili. La sintassi da seguire è la seguente:

  • <variabile>[<posizione>] = <valore> per scrivere <valore> all'interno della cella numero <posizione> dell'array <variabile>

  • per accedere al valore contenuto in una cella di un array bisogna riferirsi a tale cella come segue: <variabile>[<posizione>]

Vediamo un esempio per chiarire le idee:

Nell'esempio precedente si nota:

  • la creazione di array di diverso tipo

  • il modo di utilizzare il valore contenuto in una cella dell'array

  • l'operatore di negazione !, che equivale al NOT logico

 

Ci possono anche essere degli array a più dimensioni, se le dimensioni sono 2 si dicono matrici.
Si dichiarano come gli array ma hanno un paio di parentesi quadre in più ad indicare la seconda dimensione dell'array.
In pratica sono delle tabelle con un certo numero di righe e colonne. Ogni cella è l'intersezione di una riga con una colonna.

Vediamo subito un esempio per chiarirci le idee:

 

Una volta che si è isolato il valore contenuto all'interno di una cella, esso può essere considerato a tutti gli effetti come una singola variabile e si possono applicare su di essa tutti le operazioni viste in precedenza.

C'è anche un modo immediato per dichiarare e definire un array, ossia quello dell'enumerazione esplicita:

  • int[] a={21,2,34,5,0,-45,2};

  • boolean b={true,false,false,true,false};

  • String[] c={"Cella A","Cella B","Cella C"};

In questo modo si elencano direttamente i contenuti dell'array e si ricava immediatamente la sua lunghezza.

Ecco i file contenenti gli esempi di questa pagina:

Array.java 357 byte
Matrice.java 482 byte

   Le Variabili

Boh