Basi degli array 2D e iterazione annidata
Comprendere gli array 2D (anche irregolari), la differenza tra righe e colonne, m.length e m[0].length, nonché l’iterazione con for annidati.
Basi degli array 2D e iterazione annidata è una lezione Java Academy gratuita su CoddyKit. Questa è la lezione 1 di 6. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Java Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Java Academy include 6 lezioni in totale.
Che cos'è un array 2D?
Un array 2D è un array di array. Può essere rettangolare o irregolare (le righe possono avere lunghezze diverse).
Dichiarazione e creazione
Dichiari e crei:
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();
}
}
}
Righe e colonne
Righe: m.length. Colonne (prima riga): m[0].length. Faccia attenzione alle righe irregolari: controlli la lunghezza di ogni riga.
Iterazione annidata
Utilizzi cicli annidati per visitare tutti gli elementi:
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
}
}
}
Somme per riga/colonna
Calcoli le somme:
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);
}
}
Demo 2D
Esegua il codice: osservi i totali e le somme stampate per ogni riga.
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));
}
}
Conteggio delle colonne
Verifica rapida: per int[][] m = {{1,2,3},{4,5,6}}, quante colonne ci sono nella prima riga?
Riepilogo e prossimo passo
Riepilogo: ha dichiarato array 2D, ha iterato con cicli annidati e ha calcolato i totali.
Prossimo passo: faccia pratica con gli array irregolari e la formattazione delle tabelle.
Domande Frequenti
La lezione «Basi degli array 2D e iterazione annidata» è gratuita?
Sì — il testo completo di «Basi degli array 2D e iterazione annidata» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Java Academy, passa a CoddyKit PRO. Il corso Java Academy include 6 lezioni in totale.
Cosa imparerò in «Basi degli array 2D e iterazione annidata»?
Comprendere gli array 2D (anche irregolari), la differenza tra righe e colonne, m.length e m[0].length, nonché l’iterazione con for annidati. Eserciti Java Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Java Academy?
Non è richiesta alcuna esperienza precedente. Java Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 6.
Quanto tempo richiede la lezione «Basi degli array 2D e iterazione annidata»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Java Academy?
Sì. Ogni lezione Java Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Basi degli array 2D e iterazione annidata
- Array irregolari e formattazione delle tabelle
- Massimi per riga/colonna, trasposizione e formattazione
- Mini-progetto 2D: registro dei voti
- Utility 2D come classe di supporto (refactoring)
- Pulizia e validazione dei dati 2D