Übung 1 von 4
Dein erstes Array
Ein Array speichert mehrere Werte vom gleichen Typ:
int[] zahlen = {10, 20, 30};
Auf einzelne Werte greifst du mit dem Index zu — und der startet bei 0:
zahlen[0] // 10
zahlen[1] // 20
zahlen[2] // 30
Ändere den Index, damit Mi ausgegeben wird.
Startcode
void main() {
String[] tage = {"Mo", "Di", "Mi", "Do", "Fr"};
IO.println(tage[0]);
}
Hintergrund
Arrays im Speicher
Ein Array ist ein zusammenhängender Block im Speicher. int[5] reserviert 5 × 4 Bytes = 20 Bytes am Stück. Deshalb ist der Zugriff per Index blitzschnell — die JVM rechnet einfach: Startadresse + Index × Elementgröße.
Arrays haben eine feste Größe, die bei der Erstellung festgelegt wird und sich nicht mehr ändern lässt. Für dynamische Größe gibt es ArrayList.
Übung 2 von 4
Array-Länge
Mit .length bekommst du die Anzahl der Elemente:
int[] zahlen = {10, 20, 30};
IO.println(zahlen.length); // 3
Ersetze ???, um die Länge des Arrays auszugeben.
Startcode
void main() {
String[] farben = {"Rot", "Gruen", "Blau", "Gelb"};
IO.println(???);
}
Hintergrund
.length bei Arrays vs. Strings
Bei Arrays ist length ein Feld (ohne Klammern): arr.length. Bei Strings ist length() eine Methode (mit Klammern): str.length(). Das verwechselt man am Anfang ständig — keine Sorge.
Der Grund: Arrays sind ein Sonderfall, der direkt in die Sprache eingebaut ist. Sie sind zwar Objekte, haben dafür aber keine eigene Methode, sondern ein eingebautes, nur lesbares Feld length. Strings sind normale Objekte der Klasse String und liefern ihre Länge über eine Methode.
Übung 3 von 4
Array durchgehen
Mit for-each gehst du alle Elemente durch — einfacher als mit Index:
for (String s : meinArray) {
IO.println(s);
}
Lies es als: "Für jedes String s in meinArray".
Ergänze die Schleife, damit alle Früchte ausgegeben werden.
Startcode
void main() {
String[] fruechte = {"Apfel", "Birne", "Kirsche"};
for (String ???) {
IO.println(frucht);
}
}
Hintergrund
For-Each unter der Haube
Die for-each-Schleife ist syntaktischer Zucker — der Compiler wandelt sie intern in eine normale for-Schleife um. Bei Arrays wird ein Index verwendet, bei Collections ein Iterator.
Nachteil: Du hast keinen Zugriff auf den Index. Wenn du den brauchst, nutze die klassische for(int i=0; ...) Variante.
Übung 4 von 4
Letztes Element
Das letzte Element hat immer den Index length - 1:
zahlen[zahlen.length - 1]
Ersetze ???, um das letzte Element auszugeben — egal wie lang das Array ist.
Startcode
void main() {
String[] tiere = {"Hund", "Katze", "Vogel", "Fisch"};
IO.println(???);
}
Hintergrund
ArrayIndexOutOfBoundsException
Wenn du auf Index 4 eines 4-Elemente-Arrays zugreifst, gibt es einen Laufzeitfehler — das Programm stürzt ab. Java prüft bei jedem Zugriff die Grenzen (Bounds Checking).
In Sprachen wie C gibt es diese Prüfung nicht — dort liest du einfach zufälligen Speicher (ein häufiges Sicherheitsproblem!). Java ist hier sicherer.