Ett föreläsningsutdrag med en mentor som en del av Codegym University-kursen. Anmäl dig till hela kursen.


"Hej, Amigo!"

"Hej, Ellie!"

"Idag ska jag berätta om en ny och intressant enhet: arrayer. En array är en datatyp som kan lagra flera värden istället för bara ett."

Arrayer - 1

"Låt oss börja med en analogi. Låt oss jämföra ett hus och ett flerfamiljshus. Ett vanligt hus bebos vanligtvis av bara en familj, men ett hyreshus är uppdelat i många lägenheter. För att skicka ett brev till en familj som bor i ett hus måste du behöver ange husets unika adress. För att skicka ett brev till en familj som bor i ett flerfamiljshus behöver du skriva hyreshusets unika adress och lägenhetsnumret."

"Allt verkar klart än så länge."

"En matrisvariabel är som en flerbostadsvariabel. Du kan lagra många värden i den istället för bara en. En sådan variabel har flera lägenheter (element) som du kan referera till med hjälp av ett lägenhetsnummer (index). För att göra detta, ange indexet för arrayelementet du vill komma åt inom hakparenteser efter namnet på arrayvariabeln. Det är ganska enkelt."

"Jag hoppas det, Ellie."

"En lägenhetsbyggnadsvariabel (arrayvariabel) kan innehålla element av vilken typ som helst. Du behöver bara skriva ' Typnamn[] variabelnamn ' istället för ' Typnamn variabelnamn ' ."

Här är några exempel:

Koda Beskrivning
String[] list = new String[5];
Skapa en Stringarray med 5element
System.out.println(list[0]);
System.out.println(list[1]);
System.out.println(list[2]);
System.out.println(list[3]);
System.out.println(list[4]);
Fem ' null '-värden kommer att visas.

Använd hakparenteser och elementets index för att komma åt värdet för ett visst matriselement.

int listCount = list.length;
listCountkommer att tilldelas värdet 5, vilket är antalet element i arrayen list. lagrar arrayens längd (antal element).
list.length
list[1] = "Mom";
String s = list[1];
När du tilldelar objekt till arrayelement måste du ange elementindex inom hakparenteser.
for (int i = 0; i < list.length; i++)
{
     System.out.println(list[i]);
}
Visa värdena för alla arrayelement på skärmen.

"Så intressant!"

"En matrisvariabel kräver ytterligare initiering."

— ?

"Med en vanlig variabel kan du bara deklarera den och sedan tilldela den olika värden. Med en array är det lite mer komplicerat."

"Du måste först skapa en behållare som kommer att innehålla N element, och först då kan du börja placera värden i behållaren."

Koda Beskrivning
String[] list = null;
Arrayvariabeln listär null . Den kan bara lagra en referens till en behållare för element. Du måste skapa behållaren separat.
String[] list = new String[5];
Skapa en behållare för 5element och tilldela en referens till listvariabeln. Denna container har 5 lägenheter (element) numrerade 0, 1, 2, 3 och 4.
String[] list = new String[1];
Skapa en behållare för 1element och tilldela en referens till listvariabeln. För att lägga något i den här behållaren skulle vi skriva något i stil medlist[0] = "Yo!";
String[] list = new String[0];
Skapa en behållare för 0element och tilldela en referens till listvariabeln. Du kan inte lagra någonting i den här behållaren.

"Jag förstår. Nu blir det tydligare."

"Här är några grundläggande fakta om arrayer:"

1) En array består av många element.

2) För att komma åt ett visst element anger du dess nummer (index).

3) Alla element är av samma typ.

4) Det initiala värdet för alla element är null; för arrayer av primitiva typer är initialvärdet 0, 0,0 (för bråktal) eller falskt (för booleaner). Det är exakt samma sak som med oinitierade variabler som inte finns i arrayer.

5) String[] list deklarerar helt enkelt en variabel. Du måste först skapa en array (behållare), lägga in något i den och först sedan använda den (se exemplet nedan).

6) När vi skapar ett array-objekt (container) måste vi ange dess längd eller antalet element. Vi gör detta med nytt Typnamn[n];

Arrayer - 2

Här är några exempel:

Koda Beskrivning
String s;
String[] list;
slika med null
listlika med null
list = new String[10];
int n = list.length;
Variabeln listlagrar en referens till ett objekt – en 10-elements array av Strings
n är lika med 10
list = new String[0];
listInnehåller nu en 0elementarray. Arrayen finns, men den kan inte lagra strängar.
list = null;
System.out.println(list[1]);
Detta kommer att skapa ett undantag (runtime error) och programmet kommer att avslutas onormalt: listinnehåller en nollreferens.
list = new String[10];
System.out.println(list[11]);
Detta kommer att skapa ett undantag (runtime error): array index out of bounds.

Om listinnehåller 10 element är de giltiga indexen: 0,1,2,3,4,5,6,7,8 och 9 (för totalt 10 index).