java array declare
Questo tutorial approfondito spiega vari modi per dichiarare, creare e inizializzare un nuovo array con valori in Java con l'aiuto di semplici esempi di codice:
Nel nostro precedente tutorial, abbiamo discusso le basi degli array in Java insieme ai diversi concetti associati agli array che impareremo in dettaglio in questa serie di tutorial.
Il primo e più importante passo con gli array è crearli. È necessario essere consapevoli del tipo di elementi e di quanti elementi si memorizzeranno negli array. Dopo aver dichiarato un array, potresti voler inizializzare fornendo alcuni valori iniziali e ci sono vari metodi per farlo.
Pertanto, in questo tutorial, ci concentreremo sulla creazione e sull'inizializzazione di array prima di passare ad altri concetti.
Cosa imparerai:
- Come dichiarare un array in Java?
- Istanziare e inizializzare un array Java
- Inizializzazione e accesso agli elementi dell'array
- Domande frequenti
- Conclusione
- Lettura consigliata
Come dichiarare un array in Java?
In Java, un array unidimensionale viene dichiarato in uno dei seguenti modi:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Qui 'data_type' specifica il tipo di dati che l'array manterrà. 'Data_type' può essere un tipo di dati primitivo o qualsiasi tipo derivato.
Per esempio, un array myarray di tipo intero è dichiarato come segue:
int () myarray;
O
int () myarray;
O
int myarray ();
Ciò significa che l'array myarray conterrà gli elementi del tipo di dati int.
Si noti che poiché gli array in Java vengono allocati dinamicamente, non specifichiamo alcuna dimensione o dimensione dell'array con la dichiarazione. La dichiarazione di cui sopra dice al compilatore che c'è una variabile array 'myarray' di tipo int che memorizzerà i valori di tipo intero in essa.
Il compilatore non conosce la dimensione o i valori effettivi memorizzati in un array. Lo saprà solo dopo aver inizializzato l'array.
Istanziare e inizializzare un array Java
Abbiamo già dichiarato un array nella sezione precedente. Ma questo è solo un riferimento. Per utilizzare la variabile di matrice sopra dichiarata, è necessario istanziarla e quindi fornire i valori per essa. L'array viene istanziato utilizzando 'new'.
La sintassi generale della creazione di istanze è la seguente:
array_name = new data_type (size);
Nell'istruzione precedente, array_name è il nome dell'array che viene istanziato.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Quindi, quando usi new con l'array, stai effettivamente allocando l'array con il tipo di dati e il numero di elementi.
Quindi l'array myarray sopra dichiarato può essere istanziato come segue:
myarray = new int(10)
Pertanto, la creazione di un array in Java comporta due passaggi come mostrato di seguito:
int() myarray; //declaration myarray = new int(10); //instantiation
Una volta creato l'array, è possibile inizializzarlo con i valori come segue:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
L'espressione tra parentesi quadre sopra è chiamata indice dell'array. L'indice dell'array vieneusato per accedere al valore effettivo degli elementi cioè l'array sopra myarray di 10 elementi int avrà indici numerati da 0 a 9. Puoi accedere all'elemento dell'array in una posizione particolare specificando l'indice come sopra.
Nota che l'indice dell'array parte sempre da 0. In alternativa, puoi anche eseguire l'inizializzazione utilizzando un ciclo che vedremo più avanti.
Puoi anche usare array letterale e inizializzare l'array durante la dichiarazione stessa come mostrato di seguito:
int() myarray = {1,3,5,7};
Nella dichiarazione precedente, la lunghezza dell'array è determinata dal numero di elementi. Inoltre, come puoi vedere non è necessario utilizzare 'nuovo'. Ancora più importante, la dichiarazione, l'istanza e l'inizializzazione dell'array vengono eseguite in una singola istruzione.
Di seguito è riportato un semplice esempio di programmazione di dichiarazione e inizializzazione dell'array.
public class Main { public static void main(String() args) { int() myarray; //declaration myarray = new int(5); //instantiation myarray(0) = 10; //initialization System.out.println('myarray(0) = ' + myarray(0)); //accessing and printing array elements System.out.println('myarray(1) = ' + myarray(1)); int () oddArray = {1,3,5,7}; //initialization with array literal System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); } }
Produzione:
Questo programma ha dimostrato una dichiarazione di array e la sua istanziazione e inizializzazione. Nota che poiché abbiamo inizializzato solo il file othvalore di myarray, l'altro valore myarray (1) stampato ha un valore predefinito, ovvero 0.
Il secondo array mostra la variabile letterale dell'array. Anche se non si inizializza l'array, il compilatore Java non darà alcun errore. Normalmente, quando l'array non è inizializzato, il compilatore assegna valori predefiniti a ciascun elemento dell'array in base al tipo di dati dell'elemento.
Dimostreremo questi valori predefiniti utilizzando il seguente programma.
class Main { public static void main(String() args) { System.out.println('=======Default Values======'); System.out.print('String Array:'); String() array_str = new String(5); //declaration and instantiation for (String str : array_str) //assumes default values System.out.print(str + ' '); System.out.println('
'); System.out.print('Integer array:'); //array only instantiated not initialized int() array_num = new int(5); for (intnum : array_num) System.out.print(num + ' '); System.out.println('
'); System.out.print('Double array:'); //array only instantiated not initialized doublearray_double() = new double(5); for (double dnum : array_double) System.out.print(dnum + ' '); System.out.println('
'); System.out.print('Boolean array:'); //array only instantiated not initialized booleanarray_bool() = new boolean(5); for (booleanbval : array_bool) System.out.print(bval + ' '); System.out.println('
'); } }
Produzione:
Nel programma sopra, li abbiamo appena dichiarati e istanziati. Non li abbiamo inizializzati su alcun valore. Pertanto, quando visualizziamo il contenuto di questi array, a seconda del tipo di dati dell'array, gli elementi avranno valori predefiniti diversi.
Come visto sopra, l'array di stringhe ha il valore predefinito 'null', i valori interi sono 0 e i valori double il valore predefinito è 0,0. I valori booleani hanno i valori predefiniti impostati su false.
Inizializzazione e accesso agli elementi dell'array
# 1) Utilizzo di For Loop
Il programma scritto sopra usa un array letterale per l'inizializzazione e gli altri elementi dell'array vengono inizializzati separatamente. È inoltre possibile utilizzare il ciclo for per inizializzare gli elementi dell'array.
Abbiamo convertito l'array sopra usando array letterale per inizializzarlo usando il ciclo for nel programma seguente.
public class Main { public static void main(String() args) { int() oddArray; //declaration oddArray = new int(5); //instantiation for(int i=0;i<5;i++){ oddArray(i) = i+1; //initialization using for loop } System.out.println('oddArray(0) = ' + oddArray(0)); System.out.println('oddArray(1) = ' + oddArray(1)); System.out.println('oddArray(2) = ' + oddArray(2)); System.out.println('oddArray(3) = ' + oddArray(3)); System.out.println('oddArray(4) = ' + oddArray(4)); } }
Produzione:
Qui, come puoi vedere, abbiamo inizializzato l'array usando il ciclo for. Ogni elemento 'i' dell'array viene inizializzato con valore = i + 1. Oltre a utilizzare il metodo sopra per inizializzare gli array, puoi anche utilizzare alcuni dei metodi della classe 'Arrays' del pacchetto 'java.util' per fornire i valori iniziali per l'array.
Discuteremo alcuni di questi metodi di seguito.
# 2) Utilizzo di Arrays.fill ()
Il metodo fill () della classe 'Arrays' può essere utilizzato per inizializzare l'array. Quando si inizializza un array utilizzando questo metodo, l'array viene riempito con gli stessi valori in tutti gli indici.
Di seguito è riportato l'esempio di programmazione.
import java.util.*; public class Main { public static void main(String() args) { int() oddArray; oddArray = new int(5); //fill the array with value 30 Arrays.fill(oddArray, 30); System.out.println('Array Elements initialised with Arrays.fill:'); for(int i=0;i<5;i++) System.out.println('oddArray(' + i +') = ' + oddArray(i)); } }
Produzione:
miglior server per giocare su wow
Nel programma sopra, abbiamo fornito 30 come valore da riempire per l'array. L'output mostra che tutti gli elementi nell'array hanno valore 30.
# 3) Utilizzo di Arrays.copyOf ()
Utilizzando il metodo 'copyOf ()', utilizziamo un array di origine e quindi ne copiamo i valori in un nuovo array. È possibile specificare quanti valori devono essere copiati e quindi gli elementi rimanenti della matrice avranno valori predefiniti.
Controlla il seguente programma.
import java.util.*; public class Main { public static void main(String() args) { int evenArray() = { 2,4,6,8,10 }; //copy contents of evenArray to copyof_Array int() copyof_Array = Arrays.copyOf(evenArray,5); System.out.println('Array Elements initialised with Arrays.copyOf:'); //print the array elements for(int i=0;i<5;i++) System.out.println('copyof_Array(' + i +') = ' + copyof_Array(i)); } }
Produzione:
In questo programma, utilizziamo un array di sorgenti denominato 'evenArray'. Utilizzando il metodo copyOf abbiamo copiato tutti gli elementi di evenArray nel nuovo array. Nell'output, mostriamo il contenuto del nuovo array che è lo stesso di evenArray.
Oltre ai due metodi precedenti, abbiamo appena discusso che ci sono più metodi come il metodo setAll () della classe Arrays e il metodo clone () di ArrayUtils che possono essere utilizzati per inizializzare gli array. Riprenderemo questi metodi più avanti in questa serie di tutorial nei rispettivi argomenti.
Domande frequenti
D # 1) Possiamo dichiarare un array senza dimensioni?
Risposta: No. Non è possibile dichiarare un array senza specificarne la dimensione. Se vuoi farlo, puoi usare ArrayList che è di natura dinamica.
D # 2) La dimensione dell'array è fissata in Java?
Risposta: Sì. Gli array sono statici in Java e si dichiara un array con una dimensione specificata. Una volta specificata questa dimensione, non è possibile modificarla di nuovo.
D # 3) È sempre necessario utilizzare new durante l'inizializzazione degli array?
Risposta: No. Gli array possono essere inizializzati utilizzando new o assegnando valori separati da virgole racchiusi tra parentesi graffe.
Quindi, quando inizializziamo un array usando Array literal come mostrato di seguito. Non è necessario utilizzarne di nuovi.
int() myarray = {1,2,3,4,5};
Il numero di elementi forniti determinerà la dimensione dell'array.
D # 4) Java Array è serializzabile?
Risposta: Sì. Internamente l'Array in Java implementa l'interfaccia serializzabile.
D # 5) È un tipo di dati Array Primitive?
Risposta: No. In effetti, un array non è affatto un tipo di dati. Un array è un oggetto contenitore che contiene gli elementi di tipi di dati specifici in posizioni di memoria contigue.
Conclusione
Questo riassume la creazione e l'inizializzazione di array in Java. Una volta che gli array sono stati creati e inizializzati su alcuni valori, è necessario stamparli. Per stampare gli elementi dell'array, dobbiamo attraversare l'intero array e stampare gli elementi.
Esamineremo alcuni dei metodi di stampa degli elementi di un array nel nostro prossimo tutorial.
Lettura consigliata
- Tutorial sull'interfaccia Java e sulla classe astratta con esempi
- Introduzione al linguaggio di programmazione Java - Tutorial video
- Thread Java con metodi e ciclo di vita
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Tutorial sulla lunghezza di array Java con esempi di codice
- C # Array: come dichiarare, inizializzare e accedere a un array in C #?
- Java Hello World - Crea il tuo primo programma in Java oggi
- Introduzione agli array Java e concetti correlati