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 ( Array
classe). A volte sono anche chiamati tavoli.
Un array è un oggetto speciale che ti consente di memorizzare non un valore, ma diversi .
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
Diciamo che il tuo programma deve memorizzare 100
numeri 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 int
tipo sarebbe adatto a noi. Ma se vogliamo memorizzare 100
numeri interi, probabilmente abbiamo bisogno di un array di int
s. 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 array
il cui tipo è int[]
. Il int
tipo è 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 new
parola chiave) per ottenere 100
elementi (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
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 10
elementi, allora i numeri (indici) delle sue celle sono 0..9
. Se l'array contiene 200
elementi, gli indici sono 0..199
. E così via per analogia.
Esempi:
Codice | Spiegazione |
---|---|
|
Crea una matrice di 10 int elementi. Assegna il valore 4 alla cella con index 2 . Assegna il valore 9 alla 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:
La colonna a sinistra (in grigio) rappresenta i numeri delle celle (indici). Le celle memorizzano i valori assegnati: 4
, 9
e 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 String
s, 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.
GO TO FULL VERSION