Un frammento di lezione con un mentore come parte del corso Codegym University. Iscriviti al corso completo.


"Ciao, Amico!"

"Ehi, Eli!"

"Oggi vi parlerò di una nuova e interessante entità: gli array. Un array è un tipo di dati che può memorizzare diversi valori invece di uno solo."

Matrici - 1

"Cominciamo con un'analogia. Mettiamo a confronto una casa e un condominio. Una casa normale di solito è occupata da una sola famiglia, ma un condominio è diviso in molti appartamenti. Per inviare una lettera a una famiglia che vive in una casa, devi è necessario indicare l'indirizzo univoco dell'abitazione. Per inviare una lettera a una famiglia che vive in un condominio, è necessario scrivere l'indirizzo univoco del condominio e il numero dell'appartamento."

"Finora sembra tutto chiaro."

"Una variabile array è come una variabile condominiale. Puoi memorizzare molti valori invece di uno solo. Tale variabile ha diversi appartamenti (elementi) a cui puoi fare riferimento usando un numero di appartamento (indice). Per fare ciò, indicare l'indice dell'elemento dell'array a cui si desidera accedere tra parentesi quadre dopo il nome della variabile dell'array. È piuttosto semplice."

"Lo spero, Ellie."

"Una variabile condominiale (variabile array) può contenere elementi di qualsiasi tipo. Basta scrivere ' TypeName[] nome_variabile ' invece di ' TypeName nome_variabile '."

Ecco alcuni esempi:

Codice Descrizione
String[] list = new String[5];
Crea un Stringarray con 5elementi
System.out.println(list[0]);
System.out.println(list[1]);
System.out.println(list[2]);
System.out.println(list[3]);
System.out.println(list[4]);
Verranno visualizzati cinque valori ' null '.

Per accedere al valore di un particolare elemento dell'array, utilizzare le parentesi quadre e l'indice dell'elemento.

int listCount = list.length;
listCountverrà assegnato il valore 5, che è il numero di elementi nell'array list. memorizza la lunghezza dell'array (numero di elementi).
list.length
list[1] = "Mom";
String s = list[1];
Quando si assegnano oggetti agli elementi dell'array, è necessario indicare l'indice dell'elemento tra parentesi quadre.
for (int i = 0; i < list.length; i++)
{
     System.out.println(list[i]);
}
Visualizza i valori di tutti gli elementi dell'array sullo schermo.

"Interessante!"

"Una variabile di matrice richiede un'inizializzazione aggiuntiva."

— ?

"Con una variabile normale, puoi semplicemente dichiararla e quindi assegnarle vari valori. Con un array, è un po' più complicato."

"Devi prima creare un contenitore che conterrà N elementi e solo allora puoi iniziare a inserire valori nel contenitore."

Codice Descrizione
String[] list = null;
La listvariabile di matrice è null . Può solo memorizzare un riferimento a un contenitore per elementi. Devi creare il contenitore separatamente.
String[] list = new String[5];
Crea un contenitore per 5gli elementi e assegna un riferimento alla listvariabile. Questo contenitore ha 5 appartamenti (elementi) numerati 0, 1, 2, 3 e 4.
String[] list = new String[1];
Crea un contenitore per 1l'elemento e assegna un riferimento alla listvariabile. Per mettere qualcosa in questo contenitore, scriveremmo qualcosa comelist[0] = "Yo!";
String[] list = new String[0];
Crea un contenitore per 0gli elementi e assegna un riferimento alla listvariabile. Non puoi conservare nulla in questo contenitore.

"Capisco. Ora sta diventando più chiaro."

"Ecco alcuni fatti di base sugli array:"

1) Un array è composto da molti elementi.

2) Per accedere a un determinato elemento, indicare il suo numero (indice).

3) Tutti gli elementi sono dello stesso tipo.

4) Il valore iniziale per tutti gli elementi è nullo; per gli array di tipi primitivi, il valore iniziale è 0, 0.0 (per numeri frazionari) o false (per valori booleani). È esattamente lo stesso delle variabili non inizializzate che non sono negli array.

5) String[] list dichiara semplicemente una variabile. Devi prima creare un array (contenitore), inserirci qualcosa e solo dopo usarlo (vedi l'esempio sotto).

6) Quando creiamo un oggetto array (contenitore), dobbiamo indicarne la lunghezza, ovvero il numero di elementi. Lo facciamo usando new TypeName[n];

Array - 2

Ecco alcuni esempi:

Codice Descrizione
String s;
String[] list;
suguale a null
listuguale a null
list = new String[10];
int n = list.length;
La listvariabile memorizza un riferimento a un oggetto: un array di 10 elementi di stringhe
n uguale a 10
list = new String[0];
Ora listcontiene un 0array di elementi. L'array esiste, ma non può memorizzare stringhe.
list = null;
System.out.println(list[1]);
Ciò genererà un'eccezione (errore di runtime) e il programma verrà terminato in modo anomalo: listcontiene un riferimento nullo.
list = new String[10];
System.out.println(list[11]);
Ciò genererà un'eccezione (errore di runtime): indice dell'array fuori dai limiti.

Se listcontiene 10 elementi, gli indici validi sono: 0,1,2,3,4,5,6,7,8 e 9 (per un totale di 10 indici).