Cos'è Java Array?
Java Array è un tipo molto comune di struttura dati che contiene tutti i valori di dati dello stesso tipo di dati. Gli elementi di dati inseriti nell'array sono chiamati elementi e il primo elemento nell'array inizia con l'indice zero. Gli array ereditano la classe di oggetti e implementano le interfacce serializzabili e clonabili. Possiamo memorizzare valori o oggetti primitivi in un array.
In parole semplici, è un costrutto di programmazione che aiuta a sostituirlo
x0=0;x1=1;x2=2;x3=3;x4=4;x5=5;
con questo
...x[0]=0;x[1]=1;x[2]=2;x[3]=3;x[4]=4;x[5]=5;
In questo tutorial imparerai-
- Cos'è un array?
- Variabili di matrice
- Primo programma array
- Java Array: passa per riferimento
- Array multidimensionali
come questo aiuta è che una variabile può fare riferimento all'indice (il numero tra parentesi []) per un facile ciclo.
for(count=0; count<5; count++) {System.out.println(x[count]);}
Variabili di matrice
L'utilizzo di un array nel programma è un passaggio in 3 fasi
processo -1) Dichiarare il tuo array
2) Costruire il tuo array 3) Inizializzare il tuo array
1) Dichiarare il tuo array
Sintassi
[] ;
o
[];
Esempio:
int intArray[];// Defines that intArray is an ARRAY variable which will store integer valuesint []intArray;
2) Costruire un array
arrayname = new dataType[]
Esempio:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Dichiarazione e costruzione combinate
int intArray[] = new int[10];
3) Inizializza un array
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the arrayintArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
Dichiarazione e inizializzazione di un array
[] = {};
Esempio:
int intArray[] = {1, 2, 3, 4};// Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
Primo programma array
Passaggio 1) Copia il codice seguente in un editor.
class ArrayDemo{public static void main(String args[]){int array[] = new int[7];for (int count=0;count<7;count++){array[count]=count+1;}for (int count=0;count<7;count++){System.out.println("array["+count+"] = "+array[count]);}//System.out.println("Length of Array = "+array.length);// array[8] =10;}}
Passaggio 2) Salva, compila ed esegui il codice. Osserva l'output
Produzione:
array[0] = 1array[1] = 2array[2] = 3array[3] = 4array[4] = 5array[5] = 6array[6] = 7
Passaggio 3) Se x è un riferimento a un array, x.length ti darà la lunghezza dell'array.
Rimuovi il commento dalla riga 10. Salva, compila ed esegui il codice.Osserva l'output
Length of Array = 7
Passaggio 4) A differenza di C, Java controlla il limite di un array durante l'accesso a un elemento in esso. Java non consentirà al programmatore di superare i propri limiti.
Rimuovi il commento dalla riga 11. Salva, compila ed esegui il codice.Osserva l'output
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8at ArrayDemo.main(ArrayDemo.java:11)Command exited with non-zero status 1
Passaggio 5) Viene generata ArrayIndexOutOfBoundsException. Nel caso di C, lo stesso codice avrebbe mostrato un valore di spazzatura.
Java Array: passa per riferimento
Gli array vengono passati alle funzioni per riferimento o come puntatore all'originale. Ciò significa che qualsiasi operazione eseguita sull'array all'interno della funzione influisce sull'originale.
Esempio: per capire gli array vengono passati per riferimento
Passaggio 1) Copia il seguente codice in un editor
class ArrayDemo {public static void passByReference(String a[]){a[0] = "Changed";}public static void main(String args[]){String []b={"Apple","Mango","Orange"};System.out.println("Before Function Call "+b[0]);ArrayDemo.passByReference(b);System.out.println("After Function Call "+b[0]);}}
Passaggio 2) Salva, compila ed esegui il codice. Osserva l'output
Produzione:
Before Function Call AppleAfter Function Call Changed
Array multidimensionali
Gli array multidimensionali sono in realtà array di array.
Per dichiarare una variabile di matrice multidimensionale, specificare ogni indice aggiuntivo utilizzando un altro set di parentesi quadre.
Ex: int twoD[ ][ ] = new int[4][5] ;
Quando si alloca la memoria per un array multidimensionale, è necessario specificare solo la memoria per la prima dimensione (quella più a sinistra).
È possibile allocare separatamente le dimensioni rimanenti.
In Java, la lunghezza dell'array di ogni array in un array multidimensionale è sotto il tuo controllo.
Esempio
public class Guru99 {public static void main(String[] args) {// Create 2-dimensional array.int[][] twoD = new int[4][4];// Assign three elements in it.twoD[0][0] = 1;twoD[1][1] = 2;twoD[3][2] = 3;System.out.print(twoD[0][0] + " ");}}
Produzione:
1