Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt einen Speicherplatz für.

Ähnliche Präsentationen


Präsentation zum Thema: "FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt einen Speicherplatz für."—  Präsentation transkript:

1 FH-Hof Indirekte Adressierung Richard Göbel

2 FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt einen Speicherplatz für den angegebenen Datentyp Bei den folgenden Operationen werden Kopien der gespeicherten Daten erzeugt: Zuweisung (z.B. x = y) Aufruf einer Funktion (z.B. f(x)) Eine Vergleich überprüft die Gleichheit der enthaltenen Daten int x = 17; 17 x:

3 FH-Hof Indirekte Adressierung - Idee Bei einer Deklaration für indirekte Adressierung wird nur Speicherplatz für eine Adresse (Zeiger, Pointer, Referenz) reserviert. Bei den folgenden Operationen werden Kopien der Adressen und nicht der Daten erzeugt: Zuweisung (z.B. x = y) Aufruf einer Funktion (z.B. f(x)) Eine direkter Vergleich überprüft die Gleichheit der enthaltenen Adressen und nicht der Daten! Student s = new Student(); s: Student name: Meier alter: 19

4 FH-Hof Referenzen - Beispiel public class C { int v; } public class T { static void RefFunc (C c) { c.v = 2; } static void ValFunc (int v) { v = 2; }... int v1; C v2 = new C(); v1 = 1; T.ValFunc(v1); System.out.println(v1); v2.v = 1; T.RefFunc(v2); System.out.println(v2.v);...

5 FH-Hof Referenzen - Eigenschaften dieses Konzepts Java stellt sicher, dass jede Referenz nur auf eine Instanz der zugehörigen Klasse verweist: Der Compiler überprüft das Programm auf falsche Zuweisungen und Aufrufe. Cast-Operatoren überprüfen während der Laufzeit den Typ der zugehörigen Objekte. Der benötigte Speicherplatz für alle referenzierten Objekte wird automatisch belegt und wieder freigegeben. Fehler des Programmierers bei der Speicherverwaltung sind damit ausgeschlossen!

6 FH-Hof Zeichenketten - Basisoperationen Erzeugen von Zeichenketten: String s = Test; String t = new String(Test2); Vergleich von Zeichenketten: s.equals(t); Zugriff auf Zeichenketten einzelnes Zeichen: s.charAt(2) // s Teilzeichenkette: s.subString(1,3) // es Weitere Operationen Zusammenhängen: s + t // TestTest2 Länge der Zeichenkette: s.length() // 4

7 FH-Hof Zeichenketten - Eigenschaften von Operationen Operationen auf Zeichenketten ändern die Ausgangswerte nicht. Einige Operationen kopieren Teile der Ausgangswerte In einigen Situationen kann die Laufzeit eines Java- Programms durch häufiges Benutzen von Operationen auf Zeichenketten und dem damit verbundenen Kopieraufwand erheblich verlängert werden. while (... ) { c = str.read(); s = s + c; }

8 FH-Hof Zeichenketten - Datenstruktur StringBuffer char c; StringBuffer sb; String s; sb=new StringBuffer(1000); while (... ) {... c = str.read(); sb = sb.append(c);... } s = new String(sb); Erzeugen eines Stringbuffer Anhängen von Zeichenketten mit der Methode append. Konvertieren des endgültigen Werts mit dem Konstruktur String in ein Objekt vom Typ String.

9 FH-Hof Zeichenkette - Methode toString public class Person { String name; int alter;... public String toString() { return Person: + name +, + alter; } Mit der Methode toString wird eine Zeichenkette für ein Objekt erzeugt. Automatischer Aufruf von toString z.B. durch: println append Operator + Definition von toString für eigene Klassen sinnvoll.


Herunterladen ppt "FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt einen Speicherplatz für."

Ähnliche Präsentationen


Google-Anzeigen