Informatik

Arrays (Felder)

Ein Array (deutsch: "Feld") ermöglicht es, viele Werte des gleichen Datentyps unter einem Namen zu speichern. Statt hunderte einzelne Variablen zu erstellen, verwendest du ein Array!

Stell dir vor: Du möchtest die Noten von 30 Schülern speichern. Würdest du wirklich 30 separate Variablen erstellen?

double note1 = 2.3;
double note2 = 1.7;
double note3 = 3.1;
// ... 27 weitere Variablen ...

Mit einem Array geht das viel eleganter:

double[] noten = new double[30];  // Array für 30 Noten

Oft möchte man viele gleichartige Daten (d.h. Daten mit demselben Datentyp) speichern, z.B. die ersten 1000 Primzahlen. Stell Dir vor, Du müsstest für jede dieser Zahlen einen eigenen Variablennamen vergeben:

int p1 = 2;
int p2 = 3;
int p3 = 5;
...
int p1000 = ?!?

Oder stell Dir vor, Du möchtest dann diese 1000 gespeicherten Zahlen kommasepariert ausgeben (2, 3, 5, 7, …):

println(p1 + ", " + p2 + ", " + p3 + ", " + p4 + ", " + ... + p1000);

Kein Mensch möchte das tippen müssen. Das muss doch besser gehen!

Ein Array ist ein Datentyp, der es gestattet, viele gleichartige Daten zu speichern und durch Angabe eines Index (Position) schnell auf sie zuzugreifen.

Array erstellen und verwenden

Array deklarieren und initialisieren

Wichtig:

  • Arrays starten bei Index 0, nicht bei 1!
  • Ein Array mit 5 Elementen hat die Indizes 0, 1, 2, 3, 4
  • Mit .length bekommst du die Anzahl der Elemente

Verschiedene Arten, Arrays zu erstellen

Arrays mit Schleifen verwenden

Arrays und Schleifen passen perfekt zusammen!

Mit for-Schleife durch Array iterieren

Enhanced For-Schleife (for-each)

Für das einfache Durchlaufen gibt es eine elegantere Schreibweise:

Praktische Array-Operationen

Maximum und Minimum finden

Element suchen

Aufgabe: Rätsel (Nachvollziehen)

Aufgabe: Führe das Programm schrittweise aus und notiere dir, welche Werte in welcher Reihenfolge zugewiesen werden.

0: 24  (zahlen[0] = zahlen[2] * 3 = 8 * 3 = 24)
1: 12  (zahlen[1] = 12)
2: 8   (zahlen[2] = 8)
3: 36  (zahlen[3] = zahlen[1] + zahlen[0] = 12 + 24 = 36)

Übung: Notenverwaltung

Erstelle ein Programm zur Verwaltung von Schulnoten:

  1. Erstelle ein Array für 5 Noten
  2. Fülle es mit Noten von 1.0 bis 6.0
  3. Berechne den Notendurchschnitt
  4. Finde die beste und schlechteste Note
  5. Zähle, wie viele Noten besser als 3.0 sind

Teste-Dich-Projekt 1: Zahlen-Statistik

Erstelle ein Programm, das:

  1. Ein Array mit 10 zufälligen Zahlen zwischen 1 und 100 erstellt
  2. Diese Zahlen ausgibt
  3. Folgende Statistiken berechnet:
    • Durchschnitt
    • Maximum und Minimum
    • Anzahl der geraden Zahlen
    • Anzahl der Zahlen über 50

Tipp: Für Zufallszahlen verwende: (int)(Math.random() * 100) + 1

Testfälle

  • Array mit 10 Zahlen zwischen 1 und 100
  • Korrekte Berechnung von Durchschnitt, Max, Min
  • Richtige Zählung von geraden Zahlen und Zahlen > 50

Teste-Dich-Projekt 2: Einkaufsliste

Erstelle eine interaktive Einkaufsliste:

  1. Array für 5 Artikel-Namen (String)
  2. Array für 5 Preise (double)
  3. Benutzer kann Artikel und Preise eingeben
  4. Programm zeigt die komplette Liste an
  5. Berechnet den Gesamtpreis
  6. Findet das teuerste und billigste Produkt

Häufige Fehler vermeiden

Typische Array-Fehler:

  1. Index außerhalb des Bereichs:

    int[] zahlen = new int[5];
    zahlen[5] = 10;  // FEHLER! Index geht nur von 0-4
  2. Verwechslung von length und length():

    zahlen.length    // ✓ Richtig für Arrays
    text.length()    // ✓ Richtig für Strings
  3. Vergessen der Index-Initialisierung bei Schleifen:

    for (int i = 1; i <= zahlen.length; i++)  // FEHLER! 
    for (int i = 0; i < zahlen.length; i++)   // ✓ Richtig

Erweiterte Aufgaben:

  • Implementiere Bubble Sort zum Sortieren eines Arrays
  • Erstelle ein Programm, das Doppelte in einem Array findet
  • Programmiere ein einfaches Lager-Verwaltungssystem mit Arrays
  • Erstelle ein Quiz-Programm mit Fragen und Antworten in Arrays

Quellen

In Anlehnung an: https://www.learnj.de/doku.php?id=types:arrays:start

Arrays