Els arrays (matrius) són conjunts d'objectes similars o de dades del mateix tipus que estan ordenats en una seqüència numerada començant des de 0 fins al últim element.
Exemple: Matriu d'enters (int): {12, 7, 32, 15, 113, 0, 7}
Aquí està la manera com s'emmagatzema amb el seu número a la llista:
El nombre total d'elements de l'array a la llista es diu índex.
Per obtenir el valor d'un element de l'array, s'ha de donar l'índex dins de [ ] claudàtors després del nom de la matriu. Anomenarem a l'array de l'exemple anterior scoreArray .
Declaració d'arrays
Per declarar una array en java s'han de fer servir els claudàtors [ ] just després del tipus de dades que contè l'array:
int[] scoreArray;
Aquesta declaració li diu als compiladors quin tipus de variables (tipus de dades) conté l'array.
S'ha de tenir present que no es crea cap array fins que la paraula clau “new” s'invoca, encara que s'hagi declarat. Per exemple
int[] scoreArray;
scoreArray = new int[7];
Les dues línies anteriors posen una sèrie de 7 punts a l'array anomenada scoreArray i se'ls assigna un valor predeterminat de 0.
Una array pot ser declarada, construïda i inicialitzada en una sola sentència. Per exemple:
int[] scoreArray = {12, 7, 32, 15, 113, 0, 7};
Observeu l'ús de les claus { } i comes entre els elements de l'array.
Cridar un element d'una array
Per recuperar un element d'una array, simplement cal posar el seu nombre d'índex en brakets [] després del nom.
Exemple: scoreArray [0];
Així, scoreArray [0] = 12, i scoreArray [5] = 0.
S'ha de notar que les arrays comencen amb l'índex 0. Així, el 5è element scoreArray[4].
Canviar els valors d'una array Java
Si voleu canviar el valor d'un element de la matriu, es pot escriure:
scoreArray [3] = 56;
scoreArray [1] = 27;
Per posar un element de matriu a una altra variable, el procediment és:
myScore = scoreArray [4];
Per tant, si imprimim myScore, el resultat seria 113.
Anem a escriure un programa amb tota aquesta teoria.
public class Practica4A {
public static void main(String[] args) {
// Declaram i inicialitzam l'array
int[] scoreArray = {12, 7, 32, 15, 113, 0, 7};
// Canviam valors de l'array
scoreArray[3] = 56;
scoreArray[1] = 27;
// Posam uns dels valors de l'array dins d'una variable
int myScore;
myScore = scoreArray [4];
// Imprimim l'array
for (int i = 0; i <7; i++) {
System.out.println("Score" + i + "=" + scoreArray [i]);
}
//Imprimim myScore
System.out.println("myScore = " + myScore);
}
}
Exercicis:
1. Escriu el codi d'un programa que contengui una array amb el nom de tots els jugadors de la plantilla de bàsquet del Barça i que els imprimeixi tots.
2. Afegeix al codi anterior una altra array que contengui la puntuació particular de cadascun dels jugadors al darrer partit i modifica'l perquè ara imprimeixi el nom del jugador juntament a la seva puntuació.
3. Afegeix el codi necessari perquè, a més de les puntuacions particulars, al final també s'imprimeixi la puntuació total de l'equip (fent la suma de tots els índex de l'array).
4. Fent servir els comandament de control de fluxe de l'exemple (switch i case), afegeix el codi necessari perquè l'aplicació permeti triar entre imprimir tots els juagadors amb les seves puntuacions o nomes la puntuació total de l'equip.
//Demanam què es vol fer
System.out.println("Tria entre les opcions:");
System.out.print(" 0. Opció 1 \n 1. Opció 2");
//Usa Scanner per llegir la variable "opcio"
//Utilitza el controlador de fluxe
switch(opcio){
case 1:
//Codi que s'ha d'executar en el cas 1
break;
case 2:
//Codi que s'ha d'executar en el cas 2
break;
}