java array declare
Denne dybdegående vejledning forklarer forskellige måder at erklære, oprette og initialisere en ny matrix med værdier i Java ved hjælp af enkle kodeeksempler:
I vores tidligere tutorial diskuterede vi det grundlæggende i arrays i Java sammen med de forskellige koncepter, der er forbundet med arrays, som vi vil lære detaljeret i denne tutorial-serie.
Det første og fremmeste trin med arrays er at oprette dem. Du skal være opmærksom på, hvilken type elementer og hvor mange elementer du skal gemme i arrays. Når du har erklæret en matrix, vil du måske initialisere dem ved at angive nogle indledende værdier, og der er forskellige metoder til at gøre dette.
Således i denne vejledning vil vi fokusere på at oprette og initialisere arrays, inden vi går videre til andre koncepter.
Hvad du lærer:
- Hvordan man erklærer en matrix i Java?
- Instantier og initialiser en Java Array
- Initialisering og adgang til matrixelementer
- Ofte stillede spørgsmål
- Konklusion
- Anbefalet læsning
Hvordan man erklærer en matrix i Java?
I Java erklæres et endimensionelt array på en af følgende måder:
data_type() array_name; {or} data_type array_name(); {or} data_type ()array_name;
Her specificerer 'data_type' den datatype, som arrayet skal indeholde. 'Datatype' kan være en primitiv datatype eller en hvilken som helst afledt type.
For eksempel, en matrix myarray af typen heltal erklæres som følger:
int () myarray;
ELLER
int () myarray;
ELLER
int myarray ();
Dette betyder, at arrayet myarray vil indeholde elementerne af datatypen int.
Bemærk, at da arrays i Java tildeles dynamisk, angiver vi ikke nogen dimension eller størrelse af arrayet med erklæringen. Ovenstående erklæring fortæller kompilatoren, at der er en matrixvariabel 'myarray' af typen int, som vil lagre heltalsværdierne i den.
Compileren kender ikke størrelsen eller de faktiske værdier, der er gemt i en matrix. Det ved det kun, når vi har initialiseret arrayet.
Instantier og initialiser en Java Array
Vi har allerede erklæret en matrix i det foregående afsnit. Men dette er bare en reference. For at kunne bruge den ovennævnte deklarerede arrayvariabel skal du instantiere den og derefter angive værdier for den. Arrayet instantieres ved hjælp af 'nyt'.
Den generelle syntaks for instantiering er som følger:
array_name = new data_type (size);
I ovenstående udsagn er array_name navnet på det array, der instantieres.
mysql interview spørgsmål og svar til erfarne
data_type=> type of elements the array is going to store size=> the number of elements that will be stored in array
Derfor, når du bruger nyt med arrayet, tildeler du faktisk arrayet med datatypen og antallet af elementer.
Så det ovenfor erklærede array myarray kan instantieres som følger:
myarray = new int(10)
Oprettelse af en matrix i Java involverer således to trin som vist nedenfor:
int() myarray; //declaration myarray = new int(10); //instantiation
Når arrayet er oprettet, kan du initialisere det med værdier som følger:
myarray(0) = 1; myarray(1) = 3; ….and so on until all elements are initialized.
Udtrykket i firkantede parenteser ovenfor kaldes matrixindekset. Indekset for arrayet bruges til at få adgang til den aktuelle værdi af elementerne, dvs. ovenstående array myarray på 10 int-elementer vil have indeks nummereret fra 0 til 9. Du kan få adgang til elementet i arrayet på en bestemt position ved at angive indekset som over.
Bemærk, at matrixindekset altid starter fra 0. Alternativt kan du også foretage initialiseringen ved hjælp af en løkke, som vi senere vil se.
Du kan også bruge array-bogstaveligt og initialisere array under selve erklæringen som vist nedenfor:
int() myarray = {1,3,5,7};
I ovenstående udsagn bestemmes længden af arrayet af antallet af elementer. Som du kan se, er der heller ikke behov for at bruge 'nyt'. Endnu vigtigere er, at erklæringen, instantieringen og initialiseringen af arrayet udføres i en enkelt erklæring.
Nedenfor er et simpelt programmeringseksempel på at erklære og initialisere arrayet.
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)); } }
Produktion:
Dette program demonstrerede en array-erklæring og dets instantiering samt initialisering. Bemærk, at da vi kun har initialiseret othværdi af myarray, den anden værdi myarray (1), der udskrives, har en standardværdi, dvs. 0.
Den anden matrix demonstrerer den matrixvariabel. Selvom du ikke initialiserer arrayet, giver Java-kompilatoren ingen fejl. Når arrayet ikke initialiseres, tildeler kompilatoren normalt standardværdier til hvert element i arrayet i henhold til elementets datatype.
Vi vil demonstrere disse standardværdier ved hjælp af følgende 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('
'); } }
Produktion:
I ovenstående program har vi lige erklæret og instantificeret dem. Vi har ikke initialiseret dem til nogen værdier. Når vi viser indholdet af disse arrays, afhængigt af datatypen i arrayet, vil elementerne således have forskellige standardværdier.
Som set ovenfor har strengarray standard som 'null', heltalværdier er 0 og dobbeltværdier er som standard 0,0. Boolske værdier har deres standardværdier sat til falsk.
Initialisering og adgang til matrixelementer
# 1) Brug af For Loop
Programmet skrevet ovenfor bruger en matrix bogstavelig til initialisering, og de andre matrixelementer initialiseres separat. Du kan også bruge til loop til at initialisere arrayelementerne.
Vi har konverteret ovenstående array ved hjælp af array literal for at initialisere det ved hjælp af for loop i nedenstående program.
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)); } }
Produktion:
Her, som du kan se, har vi initialiseret arrayet ved hjælp af for loop. Hvert element 'i' i arrayet initialiseres med værdi = i + 1. Bortset fra at bruge ovenstående metode til at initialisere arrays, kan du også gøre brug af nogle af metoderne i 'Arrays' -klassen i 'java.util'-pakken til at give initialværdier til arrayet.
Vi vil diskutere nogle af disse metoder nedenfor.
# 2) Brug af Arrays. Fyld ()
Fyldningsmetoden () i klassen 'Arrays' kan bruges til at initialisere arrayet. Når du initialiserer en matrix ved hjælp af denne metode, udfyldes arrayet med de samme værdier på alle indekser.
Nedenfor er programmeringseksemplet.
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)); } }
Produktion:
I ovenstående program har vi angivet 30 som den værdi, der skal udfyldes for arrayet. Outputtet viser, at alle elementerne i arrayet har en værdi som 30.
# 3) Brug af Arrays.copyOf ()
Ved hjælp af metoden 'copyOf ()' bruger vi et kildearray og kopierer derefter dets værdier til et nyt array. Du kan angive, hvor mange værdier der skal kopieres, og så vil de resterende elementer i arrayet have standardværdier.
Kontroller følgende 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)); } }
Produktion:
I dette program bruger vi et kildearray med navnet 'evenArray'. Ved hjælp af metoden copyOf har vi kopieret alle elementerne i evenArray til det nye array. I output viser vi indholdet af det nye array, som er det samme som evenArray.
Bortset fra de ovennævnte to metoder diskuterede vi netop, at der er flere metoder som setAll () -metoden til Arrays-klasse og clone () -metoden til ArrayUtils, der kan bruges til at initialisere arrays. Vi vil tage disse metoder op senere i denne tutorial-serie i de respektive emner.
Ofte stillede spørgsmål
Spørgsmål nr. 1) Kan vi erklære en matrix uden størrelse?
Svar: Nej. Det er ikke muligt at erklære en matrix uden at angive størrelsen. Hvis du overhovedet vil gøre det, kan du bruge ArrayList, som er dynamisk.
Q # 2) Er arraystørrelse fast i Java?
Svar: Ja. Arrays er statiske i Java, og du erklærer en matrix med en specificeret størrelse. Når denne størrelse er angivet, kan du ikke ændre den igen.
Spørgsmål nr. 3) Er det altid nødvendigt at bruge nyt under initialisering af arrays?
Svar: Nej. Arrays kan initialiseres ved hjælp af nye eller ved at tildele komma-adskilte værdier, der er lukket i krøllede parenteser.
Så når vi initialiserer et array ved hjælp af Array literal som vist nedenfor. Du behøver ikke bruge nye.
int() myarray = {1,2,3,4,5};
Antallet af leverede elementer bestemmer arrayets størrelse.
Spørgsmål nr. 4) Er Java Array serierbar?
Svar: Ja. Internt implementerer Array i Java den serielle interface.
Q # 5) Er en Array Primitive datatype?
Svar: Nej. Faktisk er en matrix slet ikke en datatype. Et array er et containerobjekt, der holder elementerne i bestemte datatyper sammenhængende hukommelsesplaceringer.
Konklusion
Dette opsummerer oprettelsen og initialiseringen af arrays i Java. Når arrays er oprettet og initialiseret til nogle værdier, skal vi udskrive dem. For at udskrive arrayelementerne er vi nødt til at krydse hele arrayet og printelementerne.
Vi vil se på nogle af metoderne til udskrivning af matrixelementer i vores næste vejledning.
Anbefalet læsning
- Java-interface og abstrakt klasseundervisning med eksempler
- Introduktion til Java-programmeringssprog - Videovejledning
- Java-tråde med metoder og livscyklus
- JAVA-vejledning til begyndere: 100+ praktiske Java-videovejledninger
- Java Array Length Tutorial med kodeeksempler
- C # Array: Hvordan erklærer, initialiserer og får adgang til en array i C #?
- Java Hello World - Opret dit første program i Java i dag
- Introduktion til Java Arrays og relaterede koncepter