1. Un array è un contenitore di elementi

Probabilmente hai sentito che i computer possono elaborare enormi quantità di informazioni. Naturalmente, le istruzioni condizionali ( if-else) e i cicli ( for, while) sono di grande aiuto in questo caso. Ma possono portarti solo così lontano. Dopotutto, i dati che elabori devono essere archiviati in qualche modo.

Come quasi tutti i linguaggi di programmazione, Java facilita l'elaborazione dei dati fornendo questa fantastica cosa chiamata array ( Arrayclasse). A volte sono anche chiamati tavoli.

Un array è un oggetto speciale che ti consente di memorizzare non un valore, ma diversi .

Array Java

In precedenza abbiamo confrontato una variabile con una casella (in cui è possibile memorizzare qualsiasi valore). Continuando questa analogia, possiamo pensare a un array come a una scatola con scomparti interni. Ogni compartimento nella "scatola" (array) ha un numero. Ovviamente la numerazione parte da zero...

Oppure possiamo fare un'altra analogia. Confrontiamo una casa normale e un grattacielo. Una casa normale è occupata da un'unica famiglia, ma un grattacielo è diviso in appartamenti. Se vuoi inviare una lettera ad una famiglia che vive in una casa qualunque, indica l'indirizzo univoco della casa. E per inviare una lettera a una famiglia che vive in un appartamento, indicare l'indirizzo univoco dell'edificio oltre al numero dell'appartamento.

Una variabile di matrice è come una variabile a molti piani. Può memorizzare non uno ma molti valori. Tale variabile ha diversi appartamenti (celle). Ciascuno di essi può essere indirizzato dal proprio numero (indice).

Per fare ciò, dopo il nome della variabile, si indica l'indice della cella che si vuole indirizzare, racchiudendo l'indice tra parentesi quadre. Questo è abbastanza semplice:

array[index] = value;

Dove arrayè il nome della variabile dell'array, indexè il numero di cella nell'array ed valueè il valore che vogliamo inserire nella cella specificata.

Ma per iniziare, vediamo come creare array.


2. Creazione di un array di elementi in Java

Creazione di un array di elementi in Java

Diciamo che il tuo programma deve memorizzare 100numeri interi da qualche parte. Un array sarebbe un buon candidato per questo. E come si crea uno?

Se volessimo memorizzare un singolo numero intero, il inttipo sarebbe adatto a noi. Ma se vogliamo memorizzare 100numeri interi, probabilmente abbiamo bisogno di un array di ints. Ecco come apparirebbe il codice per crearne uno:

int[] array = new int[100];

Esploriamo questa affermazione.

Come avrai intuito, a sinistra del segno di uguale abbiamo la dichiarazione di una variabile denominata arrayil cui tipo è int[]. Il inttipo è seguito da parentesi quadre, che suggeriscono che "caselle" di questo tipo possono memorizzare non uno ma diversi valori.

A destra del segno uguale, abbiamo un esempio di "creazione oggetto" (la newparola chiave) per ottenere 100elementi (celle) di tipo int. Niente di troppo difficile qui.

Allo stesso modo, se volessimo creare un array di 20 celle per memorizzare numeri reali, il nostro codice sarebbe simile a questo:

double[] vals = new double[20];

Il numero di celle in un array è chiamato dimensione dell'array o lunghezza dell'array . E poiché gli array possono memorizzare molti valori, sono anche chiamati contenitori.

Ecco un fatto importante: non è possibile modificare la dimensione di un array dopo che è stato creato .

Puoi crearne uno nuovo, ma la lunghezza del contenitore esistente non può essere modificata.



3. Lavorare con le celle di un array

Lavorare con le celle di un array

Ok, abbiamo imparato come creare array. Ora come lavoriamo con loro?

Bene, quasi allo stesso modo delle variabili ordinarie. L'unica differenza è che dopo il nome della variabile array, dobbiamo indicare il numero della cella con cui stiamo lavorando.

La numerazione delle celle in un array inizia sempre da zero. Se abbiamo un array di 10elementi, allora i numeri (indici) delle sue celle sono 0..9. Se l'array contiene 200elementi, gli indici sono 0..199. E così via per analogia.

Esempi:

Codice Spiegazione
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Crea una matrice di 10 intelementi.
Assegna il valore 4alla cella con index 2.
Assegna il valore 9alla cella con index 7.
Nella cella con index 9, scrivi la somma dei valori memorizzati nelle celle 2(che memorizza il valore 4) e 5(che memorizza il valore 0).

Questo è ciò che verrà memorizzato in memoria dopo l'esecuzione di questo codice:

Lavorare con le celle di un array int 2

La colonna a sinistra (in grigio) rappresenta i numeri delle celle (indici). Le celle memorizzano i valori assegnati: 4, 9e 4. Quando l'array viene creato, le sue celle sono tutte piene di zeri.

Questo è importante. Tutte le celle di un array hanno lo stesso tipo di dati. Se creiamo un array di Strings, solo le stringhe possono essere memorizzate nelle sue celle. Il tipo di dati di un array viene specificato quando viene creato. Né il tipo di dati né la lunghezza dell'array possono essere modificati successivamente.