Grunderna i 2D-arrayer och nästlad iteration
Förstå 2D-arrayer (ojämna arrayer är tillåtna), rader kontra kolumner, m.length och m[0].length samt nästlad for-iteration.
Grunderna i 2D-arrayer och nästlad iteration är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 1 av 6. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 6 lektioner.
Vad är 2D?
En 2D-array är en array av arrayer. Den kan vara rektangulär eller ojämn (raderna kan ha olika längd).
Deklarera och skapa
Deklarera och skapa:
public class Main {
public static void main(String[] args) {
// Way 1: Create a 2D array with fixed size
int[][] a = new int[2][3];
// 2 rows, 3 columns → default values = 0
// [
// [0, 0, 0],
// [0, 0, 0]
// ]
// Way 2: Create and initialize directly
int[][] b = {
{1, 2, 3},
{4, 5, 6}
};
// [
// [1, 2, 3],
// [4, 5, 6]
// ]
// Print array a
System.out.println("Array a:");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
// Print array b
System.out.println("Array b:");
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b[i].length; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
}
}
Rader kontra kolumner
Rader: m.length. Kolumner (första raden): m[0].length. Var uppmärksam på ojämna rader – kontrollera längden på varje rad.
Nästlad iteration
Använd nästlade loopar för att besöka alla element:
public class Main {
public static void main(String[] args) {
// Example 2D array (matrix)
int[][] m = {
{1, 2, 3},
{4, 5, 6}
};
// Loop over rows
for (int r = 0; r < m.length; r = r + 1) {
// Loop over columns in the current row
for (int c = 0; c < m[r].length; c = c + 1) {
int value = m[r][c]; // get element at row r, column c
System.out.print(value + " "); // work: here we print
}
System.out.println(); // move to next row
}
}
}
Rad-/kolumnsummor
Beräkna summor:
public class Main {
public static void main(String[] args) {
// Example 2D array (matrix)
int[][] m = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// Sum of row 1 (second row, index = 1)
int rowSum = 0;
for (int c = 0; c < m[1].length; c = c + 1) {
rowSum = rowSum + m[1][c];
}
System.out.println("Sum of row 1 = " + rowSum);
// Sum of column 2 (third column, index = 2)
int colSum = 0;
for (int r = 0; r < m.length; r = r + 1) {
colSum = colSum + m[r][2];
}
System.out.println("Sum of column 2 = " + colSum);
}
}
2D-demo
Kör det: Se totalsummor och summor för varje rad som skrivs ut.
public class Main {
static int total(int[][] m) {
int s = 0;
for (int r = 0; r < m.length; r = r + 1) {
for (int c = 0; c < m[r].length; c = c + 1) {
s = s + m[r][c];
}
}
return s;
}
static int[] rowSums(int[][] m) {
int[] sums = new int[m.length];
for (int r = 0; r < m.length; r = r + 1) {
int s = 0;
for (int c = 0; c < m[r].length; c = c + 1) s = s + m[r][c];
sums[r] = s;
}
return sums;
}
static String join(int[] a) {
String s = "";
for (int i = 0; i < a.length; i = i + 1) {
s = s + a[i] + (i + 1 < a.length ? " " : "");
}
return s;
}
public static void main(String[] args) {
int[][] m = {
{1, 2, 3},
{4, 5, 6}
};
System.out.println("rows = " + m.length);
System.out.println("cols of row 0 = " + m[0].length);
System.out.println("total = " + total(m));
int[] rs = rowSums(m);
System.out.println("row sums = " + join(rs));
}
}
Antal kolumner
Snabbkontroll: För int[][] m = {{1,2,3},{4,5,6}}, hur många kolumner finns i den första raden?
Sammanfattning och nästa steg
Sammanfattning: Ni har deklarerat 2D-arrayer, itererat med nästlade loopar och beräknat totalsummor.
Nästa steg: Öva på ojämna arrayer och formatering av tabeller.
Lär dig Java med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 104
- Lektioner
- 374
Vanliga frågor
Är lektionen ”Grunderna i 2D-arrayer och nästlad iteration” gratis?
Ja – hela texten till ”Grunderna i 2D-arrayer och nästlad iteration” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 6 lektioner.
Vad lär jag mig i ”Grunderna i 2D-arrayer och nästlad iteration”?
Förstå 2D-arrayer (ojämna arrayer är tillåtna), rader kontra kolumner, m.length och m[0].length samt nästlad for-iteration. Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Java Academy?
Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 6.
Hur lång tid tar lektionen ”Grunderna i 2D-arrayer och nästlad iteration”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Java Academy-lektionen?
Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i 2D-arrayer och nästlad iteration
- Ojämna arrayer och tabellformatering
- Maxvärden per rad/kolumn, transponering och formatering
- 2D-miniprojekt: betygsbok
- 2D-verktyg som hjälparklass (refaktorering)
- Rensning och validering av 2D-data