1. En array är en behållare med element
Du har säkert hört att datorer kan bearbeta enorma mängder information. Naturligtvis är villkorliga uttalanden ( if-else
) och loopar ( , for
) while
till stor hjälp här. Men de kan bara ta dig så långt. När allt kommer omkring måste uppgifterna du bearbetar lagras på något sätt.
Som nästan alla programmeringsspråk, underlättar Java databehandling genom att tillhandahålla denna fantastiska sak som kallas en array ( Array
klass). De kallas också ibland för tabeller.
En array är ett speciellt objekt som låter dig lagra inte ett värde utan flera .
Tidigare jämförde vi en variabel med en ruta (där du kan lagra vilket värde som helst). Om vi fortsätter med den analogin kan vi tänka på en array som en låda som har interna fack. Varje fack i "lådan" (array) har ett nummer. Naturligtvis börjar numreringen från noll...
Eller så kan vi göra en annan analogi. Låt oss jämföra ett vanligt hus och ett höghus. Ett vanligt hus är ockuperat av en enda familj, men ett höghus är uppdelat i lägenheter. Om du vill skicka ett brev till en familj som bor i ett vanligt hus anger du husets unika adress. Och för att skicka ett brev till en familj som bor i en lägenhet anger du byggnadens unika adress samt lägenhetsnummer.
En matrisvariabel är som en höghusvariabel. Den kan lagra inte en utan många värden. En sådan variabel har flera lägenheter (celler). Var och en av dem kan adresseras med sitt nummer (index).
För att göra detta, efter variabelns namn, anger du indexet för den cell du vill adressera, och lindar indexet inom hakparenteser. Det här är ganska enkelt:
array[index] = value;
Var array
är namnet på arrayvariabeln, index
är cellnumret i arrayen och value
är värdet som vi vill lägga in i den angivna cellen.
Men till att börja med, låt oss ta reda på hur man skapar arrayer.
2. Skapa en array av element i Java
Låt oss säga att ditt program behöver lagra 100
heltal någonstans. En array skulle vara en bra kandidat för detta. Och hur skapar man en?
Om vi ville lagra ett enda heltal int
skulle typen passa oss. Men om vi vill lagra 100
heltal behöver vi förmodligen en array av int
s. Så här skulle koden för att skapa en se ut:
int[] array = new int[100];
Låt oss utforska detta uttalande.
Som du kanske har gissat har vi till vänster om likhetstecknet deklarationen av en variabel som heter array
vars typ är int[]
. Typen int
följs av hakparenteser, vilket antyder att "lådor" av denna typ inte kan lagra ett utan flera värden.
Till höger om likhetstecknet har vi ett exempel på "objektskapande" (nyckelordet) new
för att få 100
element (celler) vars typ är int. Inget för svårt här.
På samma sätt, om vi ville skapa en array med 20 celler för att lagra reella tal, skulle vår kod se ut ungefär så här:
double[] vals = new double[20];
Antalet celler i en array kallas storleken på arrayen eller längden på arrayen . Och eftersom arrayer kan lagra många värden kallas de också för behållare.
Här är ett viktigt faktum: du kan inte ändra storleken på en array efter att den har skapats .
Du kan skapa en ny, men längden på den befintliga behållaren kan inte ändras.
3. Arbeta med cellerna i en array
Okej, vi har lärt oss hur man skapar arrayer. Hur arbetar vi med dem nu?
Jo, nästan på samma sätt som med vanliga variabler. Den enda skillnaden är att efter namnet på arrayvariabeln måste vi ange numret på cellen som vi arbetar med.
Numreringen av celler i en matris börjar alltid från noll. Om vi har en array av 10
element är numren (index) för dess celler 0..9
. Om arrayen innehåller 200
element är indexen 0..199
. Och så vidare i analogi.
Exempel:
Koda | Förklaring |
---|---|
|
Skapa en rad 10 int element. Tilldela värdet 4 till cellen med index 2 . Tilldela värdet 9 till cellen med index 7 . I cellen med index 9 skriver du summan av värdena som är lagrade i celler 2 (som lagrar värdet ) 4 och 5 (som lagrar värdet ) 0 . |
Detta är vad som kommer att lagras i minnet efter att den här koden har körts:
Kolumnen till vänster (i grått) representerar cellnumren (index). Cellerna lagrar de tilldelade värdena: 4
, 9
och 4
. När arrayen skapas är alla dess celler fyllda med nollor.
Det här är viktigt. Alla celler i en array har samma datatyp. Om vi skapar en array av String
s kan bara strängar lagras i dess celler. En arrays datatyp anges när den skapas. Varken datatypen eller längden på arrayen kan ändras senare.
GO TO FULL VERSION