java array declare
Acest tutorial detaliat explică diferite moduri de a declara, crea și inițializa o nouă matrice cu valori în Java cu ajutorul exemplelor de cod simplu:
În tutorialul nostru anterior, am discutat elementele de bază ale matricelor în Java, împreună cu diferitele concepte asociate matricelor, pe care le vom învăța în detaliu în această serie de tutoriale.
Primul și cel mai important pas cu matrice este crearea lor. Trebuie să fiți conștienți de ce tip de elemente și câte elemente aveți de gând să stocați în tablouri. Odată ce declarați o matrice, este posibil să doriți să le inițializați furnizând câteva valori inițiale și există diverse metode pentru a face acest lucru.
unde găsesc cheia de securitate a rețelei
Astfel, în acest tutorial, ne vom concentra pe crearea și inițializarea matricilor înainte de a trece la alte concepte.
Ce veți învăța:
- Cum să declare o matrice în Java?
- Instantați și inițializați o matrice Java
- Inițializarea și accesarea elementelor matrice
- întrebări frecvente
- Concluzie
- Lectură recomandată
Cum să declare o matrice în Java?
În Java, o matrice unidimensională este declarată într-unul din următoarele moduri:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Aici „data_type” specifică tipul de date pe care matricea le va păstra. „Data_type” poate fi un tip de date primitiv sau orice tip derivat.
De exemplu, o matrice myarray de tip întreg este declarat astfel:
int () myarray;
SAU
int () myarray;
SAU
int myarray ();
Aceasta înseamnă că matricea matrice va conține elementele tipului de date int.
Rețineți că, deoarece matricele din Java sunt alocate dinamic, nu specificăm nicio dimensiune sau dimensiune a tabloului cu declarația. Declarația de mai sus spune compilatorului că există o variabilă matrice „myarray” de tip int care va stoca valorile de tip întreg în ea.
Compilatorul nu cunoaște dimensiunea sau valorile reale stocate într-o matrice. Va ști asta numai după ce inițializăm matricea.
Instantați și inițializați o matrice Java
Am declarat deja o matrice în secțiunea anterioară. Dar aceasta este doar o referință. Pentru a utiliza variabila de matrice declarată mai sus, trebuie să o instanțiați și apoi să furnizați valori pentru aceasta. Tabloul este instanțiat folosind „nou”.
Sintaxa generală a instanțierii este următoarea:
array_name = new data_type (size);
În declarația de mai sus, array_name este numele tabloului care este instanțiat.
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Prin urmare, atunci când utilizați noul cu matricea, alocați de fapt matricea cu tipul de date și numărul de elemente.
Deci, matricea de matrice declarată mai sus poate fi instanțiată după cum urmează:
myarray = new int(10)
Astfel, crearea unei matrice în Java implică doi pași, după cum se arată mai jos:
int() myarray; //declaration myarray = new int(10); //instantiation
Odată ce tabloul este creat, îl puteți inițializa cu valori după cum urmează:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
Expresia dintre parantezele pătrate de mai sus se numește indexul matricei. Indexul matricei este utilizat pentru a accesa valoarea reală a elementelor, adică matricea matricei de mai sus de 10 elemente int va avea indici numerotați de la 0 la 9. Puteți accesa elementul matricei într-o anumită poziție specificând indexul ca de mai sus.
Rețineți că indicele matrice începe întotdeauna de la 0. Alternativ, puteți face și inițializarea folosind o buclă pe care o vom vedea mai târziu.
Puteți utiliza, de asemenea, litera literală și inițializa matricea în timpul declarației, așa cum se arată mai jos:
int() myarray = {1,3,5,7};
În afirmația de mai sus, lungimea matricei este determinată de numărul de elemente. De asemenea, după cum puteți vedea, nu este nevoie să utilizați „nou”. Mai important, declarația, instanțierea și inițializarea matricei se fac într-o singură declarație.
Dat mai jos este un exemplu simplu de programare a declarării și inițializării matricei.
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)); } }
Ieșire:
Acest program a demonstrat o declarație matrice și instanțierea acesteia, precum și inițializarea. Rețineți că, deoarece am inițializat doar oavaloarea myarray, cealaltă valoare myarray (1) care este tipărită are o valoare implicită, adică 0.
A doua matrice demonstrează variabila literală a matricei. Chiar dacă nu inițializați matricea, compilatorul Java nu va da nicio eroare. În mod normal, atunci când matricea nu este inițializată, compilatorul atribuie valori implicite fiecărui element al matricei în funcție de tipul de date al elementului.
Vom demonstra aceste valori implicite folosind următorul program.
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('
'); } }
Ieșire:
În programul de mai sus, tocmai le-am declarat și instanțiat. Nu le-am inițializat la nicio valoare. Astfel, când afișăm conținutul acestor tablouri, în funcție de tipul de date al tabloului, elementele vor avea valori implicite diferite.
Așa cum s-a văzut mai sus, matricea de șiruri are implicit ca „nul”, valorile întregi sunt 0 și valorile duble sunt implicite 0,0. Valorile booleene au valorile implicite setate la false.
Inițializarea și accesarea elementelor matrice
# 1) Utilizarea pentru Loop
Programul scris mai sus folosește un literal de matrice pentru inițializare, iar celelalte elemente de matrice sunt inițializate separat. De asemenea, puteți utiliza pentru buclă pentru a inițializa elementele matricei.
Am convertit matricea de mai sus folosind matricala literală pentru a o inițializa folosind bucla for din programul de mai jos.
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)); } }
Ieșire:
Aici, după cum puteți vedea, am inițializat matricea folosind for loop. Fiecare element „i” al matricei este inițializat cu valoarea = i + 1. În afară de utilizarea metodei de mai sus pentru inițializarea matricelor, puteți utiliza și unele dintre metodele clasei „Matrice” a pachetului „java.util” pentru a furniza valori inițiale pentru matrice.
Vom discuta câteva dintre aceste metode mai jos.
# 2) Utilizarea Arrays.fill ()
Metoda fill () a clasei „Matrice” poate fi utilizată pentru a inițializa matricea. Când inițializați o matrice utilizând această metodă, matricea este umplută cu aceleași valori la toți indicii.
Dat mai jos este exemplul de programare.
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)); } }
Ieșire:
În programul de mai sus, am furnizat 30 ca valoare care trebuie completată pentru matrice. Rezultatul arată că toate elementele din matrice au valoarea 30.
# 3) Utilizarea Arrays.copyOf ()
Folosind metoda ‘copyOf ()’, folosim o matrice sursă și apoi copiem valorile acesteia într-o matrice nouă. Puteți specifica câte valori trebuie copiate și apoi elementele rămase ale tabloului vor avea valori implicite.
Verificați următorul program.
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)); } }
Ieșire:
În acest program, folosim o matrice sursă numită „evenArray”. Folosind metoda copyOf am copiat toate elementele evenArray în noua matrice. În ieșire, afișăm conținutul noii matrice, care este același cu evenArray.
În afară de cele două metode de mai sus, tocmai am discutat că există mai multe metode, cum ar fi metoda setAll () a clasei Arrays și metoda clone () a ArrayUtils, care pot fi utilizate pentru inițializarea matricelor. Vom aborda aceste metode mai târziu în această serie de tutoriale în subiectele respective.
întrebări frecvente
Q # 1) Putem declara o matrice fără dimensiune?
Răspuns: Nu. Nu este posibil să declarați o matrice fără a specifica dimensiunea. Dacă doriți să faceți acest lucru, puteți folosi ArrayList, care are o natură dinamică.
Q # 2) Dimensiunea matricei este fixată în Java?
Răspuns: Da. Tablourile sunt statice în Java și declarați o matrice cu o dimensiune specificată. Odată specificată această dimensiune, nu o puteți mai schimba.
Î # 3) Este întotdeauna necesar să utilizați noi în timp ce inițializați tablouri?
Răspuns: Nu. Tablourile pot fi inițializate folosind noi sau atribuind valori separate prin virgulă, încadrate în acolade.
Deci, atunci când inițializăm o matrice folosind Array literal așa cum se arată mai jos. Nu este nevoie să folosiți altele noi.
int() myarray = {1,2,3,4,5};
Numărul de elemente furnizate va determina dimensiunea matricei.
Q # 4) Este Java Array serializabil?
Răspuns: Da. Intern Array în Java implementează interfața serializabilă.
Q # 5) Este un tip de date Array Primitive?
Răspuns: De fapt, un tablou nu este deloc un tip de date. O matrice este un obiect container care deține elementele unor tipuri de date specifice în locații de memorie adiacente.
Concluzie
Acest lucru rezumă crearea și inițializarea matricilor în Java. Odată ce tablourile sunt create și inițializate la unele valori, trebuie să le imprimăm. Pentru imprimarea elementelor matricei, trebuie să traversăm întreaga matrice și elementele de imprimare.
Vom analiza câteva dintre metodele de imprimare a elementelor matrice în următorul nostru tutorial.
Lectură recomandată
- Interfață Java și tutorial de clasă abstractă cu exemple
- Introducere în limbajul de programare Java - Video Tutorial
- Fire Java cu metode și ciclu de viață
- Tutorial JAVA pentru începători: peste 100 de cursuri video Java practice
- Tutorial Java Lungime matrice cu exemple de cod
- C # Array: Cum să declarați, inițializați și accesați o matrice în C #?
- Java Hello World - Creați-vă primul program în Java astăzi
- Introducere în matricele Java și concepte conexe