domenica 27 Settembre 2020

Download in corso

Softwareone.it

05-01-2019

Java: Gli Array

E’ possibile avere più di un valore associato ad una variabile, come una lista di valori; questo è possibile grazie agli Array.

Un Array (anche detto vettore) è un gruppo di elementi che viene dichiarato inizialmente specificandone il numero. Un Array può assegnare e restituire il valore di ciascun elemento accedendovi mediante un indice creato automaticamente. Un Array si distingue da una variabile normale per l’uso delle parentesi quadre [] ed è a tutti gli effetti un Oggetto, quindi deve essere dichiarato con la famosa parola chiave new. Nella dichiarazione possiamo assegnare il numero massimo di argomenti da contenere, utilizzando il tipo di dato seguito da un numero tra le parentesi quadre, come nell’esempio: int x[] = new int[10];

In questo caso “x[]” potrà contenere al massimo 10 valori, possiamo assegnare e visualizzare i valori corrispondenti utilizzando la forma sintattica seguente:

x[0] = 10;
x[1] = 20;
 
System.out.println(x[0]); // scrive a schermo 10
System.out.println(x[1]); // scrive a schermo 20

Facciamo un esempio pratico utilizzando i cicli for mostrati nella lezione precedente:

class ProvaArray1
{
public static void main(String args[]) {
int x[] = new int[10];
for (int i=0; i<=9; i++) {
x[i] = i;
}
 
for (int i=0; i<=9; i++) {
System.out.println("x["+i+"] = "+x[i]);
 
// esempio di un Array di Stringhe
String stringa[] = {"primo","secondo","terzo"};
for (int i=0; i<=2; i++)
System.out.println("stringa["+i+"] = "+stringa[i]);
}
}

Prima dichiariamo “x[]” come nuovo oggetto Array di massimo 10 elementi. Il primo ciclo for ci permette di assegnare ad ogni elemento dell’Array il rispettivo numero “i”. 

Nel secondo ciclo scriviamo su schermo il risultato. Il secondo Array è formato da elementi Stringa (Oggetti istanziati dalla Classe String) e possiamo osservare come è possibile direttamente inserire i valori per ogni elemento stesso nella dichiarazione, come anche nel seguente esempio:

Prima dichiariamo “x[]” come nuovo oggetto Array di massimo 10 elementi. Il primo ciclo for ci permette di assegnare ad ogni elemento dell’Array il rispettivo numero “i”.

Nel secondo ciclo scriviamo su schermo il risultato. Il secondo Array è formato da elementi Stringa (Oggetti istanziati dalla Classe String) e possiamo osservare come è possibile direttamente inserire i valori per ogni elemento stesso nella dichiarazione, come anche nel seguente esempio:

In quest’ultimo esempio utilizziamo il ciclo for per sommare tutti i valori dell’Array di numeri float. Il risultato sarà:somma = 29.8

E’ anche possibile utilizzare Array multidimensionali, ovvero con più di un indice, per esempio possiamo emulare una tabella grazie ad un Array Bidimensionale, impostando le colonne e le righe. Facciamo un esempio:

class ProvaArray3 {
public static void main(String args[]) {
int x[][] = new int[2][2];
 
// assegnamo i valori a x[i][j]
 
for(int i=0; i<=1; i++) {
for(int j=0; j<=1; j++) {
x[i][j] = i+j;
}
}
 
for(int i=0; i<=1; i++) {
for(int j=0; j<=1; j++) {
System.out.println("x["+i+","+j+"] = "+x[i][j]);
}
}
 
// Proviamo anche con le Stringhe
 
String st[][]={{"riga 0 colonna 0","riga 0 colonna 1"},
{"riga 1 colonna 0","riga 1 colonna 1"}};
 
// scriviamo a schermo i valori 
 
for(int i=0; i<=1; i++)
for(int j=0; j<=1; j++)
System.out.println("st["+i+","+j+"] = "+st[i][j]);
}
}

Naturalmente abbiamo voluto fare un esempio con solo un Array di due dimensioni, ma come avrete già intuito è possibile sviluppare anche Array di tre o ulteriori dimensioni.

I commenti sono chiusi.

Pubblicità