Più variabili dello stesso tipo (tutte int o tutte char o tutte String, ecc) possono essere organizzate in un'unica struttura con un nome collettivo detto array.
Le singole variabili sono dette elementi dell'array.
La struttura array è dichiarata scrivendo il nome del tipo degli elementi seguito da coppie di parentesi quadre in numero corrispondente alla dimensione dell'array.
Per indicare che una struttura è un array unidimensionale la specificazione di tipo va seguita da una coppia di parentesi quadre; se l'array è bidimensionale, le coppie di quadre devono essere due, ecc.
I singoli elementi del contenitore sono individuati tramite uno o più indici interi posti tra parentesi quadre. L'indice del primo elemento è 0 (non 1), per cui in un array di n elementi l'indice può variare da 0 a n-1.
Gli arrays possono essere inizializzati direttamente nel modo mostrato nell'esempio.
Esempio:
String[] musicista={"Gioacchino","Rossini"};
String nome, cognome;
...........................
nome = musicista[0];
cognome = musicista[1];
Esempio:
String[][] musicisti={{"Gioacchino","Rossini"},
{"Giuseppe","Verdi"}};
String nome, cognome;
...........................
// nome e cognome assumono i valori "Gioacchino" e "Rossini"
nome = musicisti[0][0];
cognome = musicisti[0][1];
...........................
// nome e cognome assumono i valori "Giuseppe" e "Verdi"
nome = musicisti[1][0];
cognome = musicisti[1][1];
La seguente applicazione sviluppa quella proposta nella pagina precedente.
import java.util.GregorianCalendar; //si importa la classe GregorianCalendar del package util
public class Data
{
GregorianCalendar oggi;
int ix_gs, ix_gm, ix_mese, anno;
static String[] nome_giorno = // array statico di stringhe: gli elementi sono fissi
{"","Domenica","Lunedì","Martedì","Mercoledì", "Giovedì","Venerdì","Sabato"};
// si è inserito un elemento vuoto perché il metodo
// 'get(GregorianCalendar.DAY_OF_WEEK)' produce valori da 1 a 7
static String[] nome_mese =
{"Gennaio","Febbraio","Marzo","Aprile", "Maggio","Giugno","Luglio","Agosto","Settembre",
"Ottobre", "Novembre","Dicembre"};
String data;
public Data()
{
GregorianCalendar oggi = new GregorianCalendar();
ix_gm = oggi.get(GregorianCalendar.DAY_OF_MONTH);
ix_gs = oggi.get(GregorianCalendar.DAY_OF_WEEK);
ix_mese = oggi.get(GregorianCalendar.MONTH);
anno = oggi.get(GregorianCalendar.YEAR);
data = "Oggi: "+nome_giorno[ix_gs]+" "+ix_gm+" "+nome_mese[ix_mese]+" "+anno;
System.out.println(data);
}
public static void main(String[] args)
{
Data d = new Data();
}
}
