java array declare
Denne grundige veiledningen forklarer forskjellige måter å erklære, opprette og initialisere en ny matrise med verdier i Java ved hjelp av enkle kodeeksempler:
I vår forrige opplæring diskuterte vi det grunnleggende om matriser i Java sammen med de forskjellige konseptene knyttet til matriser som vi vil lære i detalj i denne opplæringsserien.
Det første og fremste trinnet med arrays er å lage dem. Du må være klar over hvilken type elementer og hvor mange elementer du skal lagre i matriser. Når du har erklært en matrise, vil du kanskje initialisere dem ved å oppgi noen innledende verdier, og det er forskjellige metoder for å gjøre dette.
I denne veiledningen vil vi derfor fokusere på å lage og initialisere matriser før vi går videre til andre konsepter.
Hva du vil lære:
- Hvordan erklære jeg en serie i Java?
- Instantiate and Initialize A Java Array
- Initialisere og få tilgang til arrayelementer
- ofte stilte spørsmål
- Konklusjon
- Anbefalt lesing
Hvordan erklære jeg en serie i Java?
I Java er en endimensjonal matrise erklært på en av følgende måter:
data_type[] array_name; {or} data_type array_name[]; {or} data_type []array_name;
Her spesifiserer ‘data_type’ typen data som arrayet vil ha. ‘Datatype’ kan være en primitiv datatype eller hvilken som helst avledet type.
For eksempel, en matrise myarray av type heltall er erklært som følger:
int [] myarray;
ELLER
int [] myarray;
ELLER
int myarray [];
Dette betyr at arrayet myarray vil inneholde elementene av datatypen int.
Merk at ettersom matriser i Java er dynamisk tildelt, spesifiserer vi ikke noen dimensjon eller størrelse på matrisen med erklæringen. Ovennevnte erklæring forteller kompilatoren at det er en matrixvariabel 'myarray' av typen int som vil lagre heltallverdiene i den.
Kompilatoren vet ikke størrelsen eller de faktiske verdiene som er lagret i en matrise. Det vil bare vite at etter at vi har initialisert matrisen.
Instantiate and Initialize A Java Array
Vi har allerede erklært en matrise i forrige seksjon. Men dette er bare en referanse. For å bruke den ovennevnte arrayvariabelen, må du instantiere den og deretter oppgi verdier for den. Matrisen er instantiert ved hjelp av ‘ny’.
Den generelle syntaksen for instantiering er som følger:
array_name = new data_type [size];
I utsagnet ovenfor er array_name navnet på arrayet som instantieres.
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 bruker nytt med matrisen, tildeler du faktisk matrisen med datatypen og antall elementer.
Så den ovenfor erklærte array-myarrayen kan instantiseres som følger:
myarray = new int[10]
Dermed innebærer å opprette en matrise i Java to trinn som vist nedenfor:
int[] myarray; //declaration myarray = new int[10]; //instantiation
Når matrisen er opprettet, kan du initialisere den med verdier som følger:
myarray[0] = 1; myarray[1] = 3; ….and so on until all elements are initialized.
Uttrykket i firkantede parenteser over kalles indeksen til matrisen. Indeksen til matrisen brukes til å få tilgang til den faktiske verdien av elementene, dvs. den ovennevnte matrisen på 10 int-elementene vil ha indekser nummerert fra 0 til 9. Du kan få tilgang til elementet i matrisen på en bestemt posisjon ved å spesifisere indeksen ovenfor.
Merk at matriseindeksen alltid starter fra 0. Alternativt kan du også starte initialiseringen ved hjelp av en sløyfe som vi vil se senere.
Du kan også bruke array-bokstavelig og initialisere array under selve erklæringen som vist nedenfor:
int[] myarray = {1,3,5,7};
I utsagnet ovenfor bestemmes lengden på matrisen av antall elementer. Som du ser, er det ikke nødvendig å bruke ‘nytt’. Enda viktigere er at erklæringen, instantiasjonen og initialiseringen av matrisen gjøres i en enkelt uttalelse.
Nedenfor er et enkelt programmeringseksempel på å erklære og initialisere matrisen.
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]); } }
Produksjon:
Dette programmet demonstrerte en matrixerklæring og dens instantiering samt initialisering. Merk at ettersom vi bare har initialisert othverdien av myarray, den andre verdien myarray [1] som skrives ut har en standardverdi, dvs. 0.
Den andre matrisen demonstrerer den matrikelvariabelen. Selv om du ikke initialiserer matrisen, vil ikke Java-kompilatoren gi noen feil. Normalt, når matrisen ikke initialiseres, tildeler kompilatoren standardverdier til hvert element i matrisen i henhold til datatypen til elementet.
Vi vil demonstrere disse standardverdiene ved hjelp av 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('
'); } }
Produksjon:
I programmet ovenfor har vi nettopp erklært og instantiert dem. Vi har ikke initialisert dem til noen verdier. Når vi viser innholdet i disse matriser, avhengig av datatypen til matrisen, vil elementene ha forskjellige standardverdier.
Som vist ovenfor har strengmatrisen standard som ‘null’, heltallverdiene er 0 og doble verdier er som standard 0,0. Standardverdiene er satt til falske boolske verdier.
Initialisere og få tilgang til arrayelementer
# 1) Bruk av For Loop
Programmet som er skrevet ovenfor bruker en bokstavelig rekke for initialisering, og de andre matriseelementene initialiseres separat. Du kan også bruke for loop til å initialisere matriseelementene.
Vi har konvertert den ovennevnte matrisen ved hjelp av array-bokstavelig for å initialisere den med for loop i programmet nedenfor.
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]); } }
Produksjon:
Her, som du kan se, har vi initialisert matrisen ved hjelp av for loop. Hvert element ‘i’ i matrisen initialiseres med verdi = i + 1. Bortsett fra å bruke metoden ovenfor for å initialisere matriser, kan du også bruke noen av metodene i 'Arrays' -klassen i 'java.util' -pakken for å gi startverdier for matrisen.
Vi vil diskutere noen av disse metodene nedenfor.
# 2) Bruke Arrays.fill ()
Fill () -metoden i 'Arrays' -klassen kan brukes til å initialisere matrisen. Når du initialiserer en matrise ved hjelp av denne metoden, fylles matrisen med de samme verdiene på alle indeksene.
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]); } }
Produksjon:
I programmet ovenfor har vi gitt 30 som verdien som skal fylles for matrisen. Utgangen viser at alle elementene i matrisen har verdi som 30.
# 3) Bruke Arrays.copyOf ()
Ved hjelp av metoden ‘copyOf ()’ bruker vi en kildematrise og kopierer deretter verdiene til en ny matrise. Du kan spesifisere hvor mange verdier som skal kopieres, og deretter vil de gjenværende elementene i matrisen ha standardverdier.
Sjekk 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]); } }
Produksjon:
I dette programmet bruker vi et kildearray som heter ‘evenArray’. Ved å bruke copyOf-metoden har vi kopiert alle elementene i evenArray til den nye matrisen. I utgangen viser vi innholdet i den nye matrisen som er det samme som evenArray.
Bortsett fra de to ovennevnte metodene diskuterte vi nettopp at det er flere metoder som setAll () -metoden til Arrays class og clone () -metoden til ArrayUtils som kan brukes til å initialisere arrays. Vi vil ta opp disse metodene senere i denne opplæringsserien i de respektive emnene.
ofte stilte spørsmål
Sp # 1) Kan vi erklære en serie uten størrelse?
Svar: Nei. Det er ikke mulig å erklære en matrise uten å spesifisere størrelsen. Hvis du i det hele tatt vil gjøre det, kan du bruke ArrayList som er dynamisk.
Q # 2) Er arraystørrelse løst i Java?
Svar: Ja. Arrays er statiske i Java, og du erklærer en matrise med en spesifisert størrelse. Når denne størrelsen er spesifisert, kan du ikke endre den igjen.
hvordan man kan instansiere en liste i java
Spørsmål 3) Er det alltid nødvendig å bruke nye mens du initialiserer matriser?
Svar: Nei. Arrays kan initialiseres ved hjelp av nye eller ved å tilordne kommaadskilte verdier som er lukket i krøllete bukseseler.
Så når vi initialiserer en matrise ved hjelp av Array-bokstavelig som vist nedenfor. Du trenger ikke bruke nye.
int[] myarray = {1,2,3,4,5};
Antall oppgitte elementer vil avgjøre størrelsen på matrisen.
Q # 4) Er Java Array seriell?
Svar: Ja. Internt implementerer Array i Java det serieiserbare grensesnittet.
Q # 5) Er en Array Primitive datatype?
Svar: Nei. Faktisk er en matrise ikke en datatype i det hele tatt. En matrise er et containerobjekt som holder elementene til bestemte datatyper sammenhengende minneplasser.
Konklusjon
Dette oppsummerer opprettelse og initialisering av matriser i Java. Når matriser er opprettet og initialisert til noen verdier, må vi skrive dem ut. For å skrive ut matriseelementene, må vi krysse hele matrisen og skrive ut elementene.
Vi vil se på noen av metodene for å skrive ut matriseelementer i vår neste opplæring.
Anbefalt lesing
- Java-grensesnitt og abstrakt klasseopplæring med eksempler
- Introduksjon til Java Programming Language - Video Tutorial
- Java-tråder med metoder og livssyklus
- JAVA-opplæring for nybegynnere: 100+ praktiske Java-videoveiledninger
- Java Array Length Tutorial With Code Eksempler
- C # Array: Hvordan erklære, initialisere og få tilgang til en serie i C #?
- Java Hello World - Lag ditt første program i Java i dag
- Introduksjon til Java Arrays og relaterte konsepter