2D-taulukoiden perusteet ja sisäkkäinen läpikäynti
Ymmärtäkää 2D-taulukot (myös epäsäännölliset taulukot), rivien ja sarakkeiden erot, m.length ja m[0].length sekä sisäkkäinen for-läpikäynti.
2D-taulukoiden perusteet ja sisäkkäinen läpikäynti on ilmainen Java Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/6. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Java Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Java Academy-kurssilla on yhteensä 6 oppituntia.
Mikä on kaksiulotteinen taulukko?
Kaksiulotteinen taulukko on taulukoiden taulukko. Se voi olla suorakulmainen tai sahalaitainen eli riveillä voi olla eri pituudet.
Ilmoittaminen ja luominen
Ilmoittakaa ja luokaa:
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();
}
}
}
Rivit ja sarakkeet
Rivit: m.length. Sarakkeet (ensimmäinen rivi): m[0].length. Varokaa sahalaitaisia rivejä ja tarkistakaa kunkin rivin pituus.
Sisäkkäinen läpikäynti
Käyttäkää sisäkkäisiä silmukoita kaikkien alkioiden läpikäyntiin:
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
}
}
}
Rivi- ja sarakesummat
Laskekaa summat:
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);
}
}
Kaksiulotteisen taulukon esimerkki
Suorittakaa: Näette tulostetut kokonaissummat ja rivikohtaiset summat.
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));
}
}
Sarakkeiden määrä
Pikatarkistus: Kun int[][] m = {{1,2,3},{4,5,6}}, kuinka monta saraketta ensimmäisellä rivillä on?
Kertaus ja seuraava aihe
Kertaus: Ilmoititte kaksiulotteisia taulukoita, kävitte ne läpi sisäkkäisillä silmukoilla ja laskitte summia.
Seuraavaksi: Harjoittelette sahalaitaisia taulukoita ja taulukoiden muotoilua.
Opi Java tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 104
- Oppitunnit
- 374
Usein kysytyt kysymykset
Onko oppitunti ”2D-taulukoiden perusteet ja sisäkkäinen läpikäynti” ilmainen?
Kyllä – oppitunnin ”2D-taulukoiden perusteet ja sisäkkäinen läpikäynti” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Java Academy-kurssin, päivitä CoddyKit PROhon. Java Academy-kurssilla on yhteensä 6 oppituntia.
Mitä opin oppitunnilla ”2D-taulukoiden perusteet ja sisäkkäinen läpikäynti”?
Ymmärtäkää 2D-taulukot (myös epäsäännölliset taulukot), rivien ja sarakkeiden erot, m.length ja m[0].length sekä sisäkkäinen for-läpikäynti. Harjoittelet Java Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Java Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Java Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/6.
Kuinka kauan ”2D-taulukoiden perusteet ja sisäkkäinen läpikäynti”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Java Academy-oppitunnilla?
Kyllä. Jokainen Java Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- 2D-taulukoiden perusteet ja sisäkkäinen läpikäynti
- Epäsäännölliset taulukot ja taulukkomuotoilu
- Rivi- ja sarakemaksimit, transponointi ja muotoilu
- 2D-miniprojekti: arvosanakirja
- 2D-apuohjelmat apuluokkana (uudelleenjärjestely)
- 2D-datan puhdistus ja validointi