@Riccardop02: in sostanza, per vedere un esempio, fare:
int[] cubi = { 1, 8, 27, 64, 125, 216, 343, 512, 729, 1000 };
o fare:
int[] cubi = new int[10];
for (int i = 0; i < cubi.length; i++) {
int n = i+1;
cubi[i] = n*n*n;
}
dà
esattamente lo stesso contenuto dell'array. Solo che nel primo caso i dati sono già calcolati a priori e messi nella inizializzazione dell'array mentre nel secondo caso sono "calcolati" da codice.
P.S. e da Java 8 c'è anche una forma possibile che sfrutta l'approccio più "funzionale" usando la nuova Stream API:
int[] cubi = IntStream.rangeClosed(1, 10).map(n -> n*n*n).toArray();
è sempre "calcolato" ma con la Stream API. Se per te è "arabo", non problem, ignoralo per ora.