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 ( Array
klasse). De kaldes også nogle gange for borde.
Et array er et specielt objekt, der lader dig gemme ikke én værdi, men flere .
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 array
er navnet på array-variablen, index
er cellenummeret i arrayet, og value
er 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
Lad os sige, at dit program skal gemme 100
heltal 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, int
ville typen passe til os. Men hvis vi vil gemme 100
heltal, har vi sandsynligvis brug for en matrix af int
s. 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, array
hvis type er int[]
. Typen int
efterfø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å 100
elementer (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
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 10
elementer, så er tallene (indekser) af dets celler 0..9
. Hvis arrayet indeholder 200
elementer, er indeksene 0..199
. Og så videre i analogi.
Eksempler:
Kode | Forklaring |
---|---|
|
Opret en række 10 int elementer. Tildel værdien 4 til cellen med indeks 2 . Tildel værdien 9 til cellen med indeks 7 . I cellen med indeks skal du 9 skrive 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:
Kolonnen til venstre (i gråt) repræsenterer cellenumrene (indekser). Cellerne gemmer de tildelte værdier: 4
, 9
og 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 String
s, 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.
GO TO FULL VERSION