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(); } }