1. Et array er en beholder af elementer

Du har sikkert hørt, at computere kan behandle enorme mængder information. Selvfølgelig er betingede udsagn ( if-else) og loops ( for, while) en stor hjælp her. Men de kan kun tage dig så langt. Når alt kommer til alt, skal de data, du behandler, på en eller anden måde opbevares.

Som næsten alle programmeringssprog letter Java databehandling ved at levere denne fantastiske ting kaldet et array ( Arrayklasse). De kaldes også nogle gange for borde.

Et array er et specielt objekt, der lader dig gemme ikke én værdi, men flere .

Java Arrays

Tidligere sammenlignede vi en variabel med en boks (hvori du kan gemme en hvilken som helst værdi). Hvis vi fortsætter denne analogi, kan vi tænke på et array som en boks, der har interne rum. Hvert rum i "boksen" (arrayet) har et nummer. Selvfølgelig starter nummereringen fra nul...

Eller vi kan lave en anden analogi. Lad os sammenligne et almindeligt hus og et højhus. Et almindeligt hus er beboet af en enkelt familie, men et højhus er opdelt i lejligheder. Ønsker du at sende et brev til en familie, der bor i et almindeligt hus, angiver du husets unikke adresse. Og for at sende et brev til en familie, der bor i en lejlighed, angiver du bygningens unikke adresse samt lejlighedsnummer.

En matrixvariabel er som en højhusvariabel. Det kan lagre ikke én, men mange værdier. En sådan variabel har flere lejligheder (celler). Hver af dem kan adresseres ved deres nummer (indeks).

For at gøre dette, efter navnet på variablen, angiver du indekset for den celle, du vil adressere, og pakker indekset i firkantede parenteser. Dette er ret simpelt:

array[index] = value;

Hvor arrayer navnet på array-variablen, indexer cellenummeret i arrayet, og valueer den værdi, som vi vil indsætte i den angivne celle.

Men for at starte, lad os se, hvordan man opretter arrays.


2. Oprettelse af en række elementer i Java

Oprettelse af en række elementer i Java

Lad os sige, at dit program skal gemme 100heltal et eller andet sted. Et array ville være en god kandidat til dette. Og hvordan laver man en?

Hvis vi ville gemme et enkelt heltal, intville typen passe til os. Men hvis vi vil gemme 100heltal, har vi sandsynligvis brug for en matrix af ints. Sådan vil koden til at oprette en se ud:

int[] array = new int[100];

Lad os undersøge denne erklæring.

Som du måske har gættet, har vi til venstre for lighedstegnet erklæringen af ​​en variabel ved navn, arrayhvis type er int[]. Typen intefterfølges af firkantede parenteser, som antyder, at "kasser" af denne type ikke kan gemme én men flere værdier.

Til højre for lighedstegnet har vi et eksempel på "objektskabelse" (nøgleordet new) for at få 100elementer (celler), hvis type er int. Intet er for svært her.

På samme måde, hvis vi ønskede at skabe en matrix af 20 celler til at gemme reelle tal, så ville vores kode se sådan ud:

double[] vals = new double[20];

Antallet af celler i et array kaldes størrelsen af ​​arrayet eller længden af ​​arrayet . Og fordi arrays kan gemme mange værdier, kaldes de også containere.

Her er en vigtig kendsgerning: Du kan ikke ændre størrelsen på en matrix, efter den er oprettet .

Du kan oprette en ny, men længden af ​​den eksisterende beholder kan ikke ændres.



3. Arbejde med cellerne i et array

Arbejde med cellerne i en matrix

Okay, vi har lært, hvordan man opretter arrays. Hvordan arbejder vi nu med dem?

Nå, næsten på samme måde som med almindelige variable. Den eneste forskel er, at efter navnet på array-variablen skal vi angive nummeret på den celle, vi arbejder med.

Nummereringen af ​​celler i en matrix starter altid fra nul. Hvis vi har en række 10elementer, så er tallene (indekser) af dets celler 0..9. Hvis arrayet indeholder 200elementer, er indeksene 0..199. Og så videre i analogi.

Eksempler:

Kode Forklaring
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
Opret en række 10 intelementer.
Tildel værdien 4til cellen med indeks 2.
Tildel værdien 9til cellen med indeks 7.
I cellen med indeks skal du 9skrive summen af ​​de værdier, der er gemt i celler 2(som gemmer værdien 4) og 5(som gemmer værdien 0).

Dette er, hvad der vil blive gemt i hukommelsen, efter at denne kode er udført:

Arbejde med cellerne i en int array 2

Kolonnen til venstre (i gråt) repræsenterer cellenumrene (indekser). Cellerne gemmer de tildelte værdier: 4, 9og 4. Når arrayet er oprettet, er dets celler alle fyldt med nuller.

Dette er vigtigt. Alle celler i et array har den samme datatype. Hvis vi opretter et array af Strings, kan kun strenge gemmes i dets celler. Et arrays datatype er angivet, når det oprettes. Hverken datatypen eller længden af ​​arrayet kan ændres senere.