Lernpfad:Einführung in Git/11: Unterschied zwischen den Versionen

 
(4 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 3: Zeile 3:
== Objektarrays ==
== Objektarrays ==


Arrays können nicht nur primitive Datentypen speichern, sondern auch Objekte. Jedes Element ist dann eine Referenz auf eine Objektinstanz der deklarierten Klasse. Dabei können einzelne Indizes des Arrays auch auf dasselbe Objekt referenzieren. Ein Array ist aber auf Objekte einer Klasse beschränkt, die bei der Deklaration angegeben werden muss.
Arrays können nicht nur ''primitive Datentypen'' speichern, sondern auch Objekte. Jedes Element ist dann eine Referenz auf eine Objektinstanz der deklarierten Klasse. Dabei können einzelne Indizes des Arrays auch auf dasselbe Objekt referenzieren. Ein Array ist aber auf Objekte einer Klasse beschränkt, die bei der Deklaration angegeben werden muss.


<syntaxhighlight lang="Java">
<syntaxhighlight lang="Java">
Zeile 36: Zeile 36:


{{Aufgabe:Start|Icon=BlueJ Logo.png}}
{{Aufgabe:Start|Icon=BlueJ Logo.png}}
# Erstelle einen Fork des Projekts "arrays2" und öffne es in BlueJ.
# Erstelle einen Fork des Projekts "arrays2" und öffne es in {{BlueJ}}.
# Analysiere die Methode <code>public void objectArrayExample()</code> und führe sie aus.
# Analysiere die Methode <code>public void objectArrayExample()</code> und führe sie aus.
# Implementiere die Methoden <code>public void rollAll(Wuerfel[])</code> und <code>public int diceSum(Wuerfel[])</code>.
# Implementiere die Methoden <code>public void rollAll(Wuerfel[])</code> und <code>public int diceSum(Wuerfel[])</code>.
Zeile 56: Zeile 56:
=== Über ein mehrdimensionales Array iterieren ===
=== Über ein mehrdimensionales Array iterieren ===


Um über Arrays mit mehreren Dimensionen zu iterieren nutzt du mehrere Zählschleifen ineinander.
Um über Arrays mit mehreren Dimensionen zu iterieren, nutzt du mehrere Zählschleifen ineinander.


<syntaxhighlight lang="Java" line="1">
<syntaxhighlight lang="Java" line="1">
Zeile 65: Zeile 65:
     if( innerArray != null ) { // Notwendig, falls inneres Array noch nicht initialisiert
     if( innerArray != null ) { // Notwendig, falls inneres Array noch nicht initialisiert
         for( int j = 0; j < innerArray.length; j++ ) {
         for( int j = 0; j < innerArray.length; j++ ) {
             innerArray = "(" + i + "," + j + ")";
             innerArray[j] = "(" + i + "," + j + ")";
         }
         }
     }
     }
Zeile 71: Zeile 71:
</syntaxhighlight>
</syntaxhighlight>


Der Quelltext erzeugt die folgende Matrix an Strings:
Der Quelltext erzeugt die folgende Tabelle/Matrix mit Strings:


{| class="wikitable text-center" style="margin:0 auto;"
{| class="wikitable text-center" style="margin:0 auto;"