Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Variablenkonzept Klassisch, in Java Basistyp

Ähnliche Präsentationen


Präsentation zum Thema: "Variablenkonzept Klassisch, in Java Basistyp"—  Präsentation transkript:

1 Variablenkonzept Klassisch, in Java Basistyp
Learning By Doing Variablenkonzept Klassisch, in Java Basistyp Variablendeklaration reserviert Speicherplatz im Hauptspeicher Speicherplatz wird zu Compilationszeit reserviert Initialisierung setzt einen Wert Variable besteht aus Name und Wert int x = 5; int y = 2; int z = 7; Nach Deklaration/Initiali- sierung: Nach Zuweisung y = 5;

2 Für Objekte werden Referenzvariablen verwendet:
Learning By Doing Für Objekte werden Referenzvariablen verwendet: Für Objekte wird in einem dynamischen Speicherbereich (Heap) zu Laufzeit Speicherplatz reserviert Um eine Objekt anzusprechen muss eine Referenzvariable (Referenz) verwendet werden, welche die Adresse des Objekts enthält. Der Wert der Referenz (also die Adresse des Objekts) ist nicht zugänglich Objekte werden mit dem Erzeugungsoperator new erzeugt. Der Rückgabe- wert wir einer Referenzvariable zugewiesen Deklaration einer Referenzvariablen T t; Erzeugung eines Objekts t = new T();

3 Zuweisung und Vergleich von Referenzvariablen
Zuweisung/Vergleich Learning By Doing Zuweisung und Vergleich von Referenzvariablen Zugewiesene Referenzvariablen zeigen auf dasselbe Objekt Verändert man mit einer dieser Variablen das Objekt, so ist es automatisch auch für die andere Variable geändert Der Vergleich von Referenzvariablen mit == prüft, ob die beiden Variablen auf das gleiche Objekt verweisen und nicht, ob die beiden Objekte gleich sind T t = new T(); T u; u = t;

4 Basistypen/Referenztypen
Learning By Doing Basistypen versus Referenztypen // WbzEx2.java import static ch.aplu.util.Console.*; class WbzEx2 { WbzEx2() int hans = 3; println("hans: " + hans); int peter; peter = hans; println("peter: " + peter); hans = 7; } public static void main(String[] args) new WbzEx2a(); // WbzEx2a.java import ch.aplu.turtle.*; import java.awt.Color; class WbzEx2a { WbzEx2a() Turtle hans = new Turtle(Color.red); Turtle peter; peter = hans; hans.setColor(Color.blue); peter.back(100); } public static void main(String[] args) new WbzEx2a(); J2SE V1.4: statt import static nur import dafür statt println() überall Console.println()

5 Referenzenkommunikation
Learning By Doing Referenzvariablen (Referenzen) dienen nicht dazu, Objekte zu speichern, sondern mit ihnen zu kommunizieren

6 Übersicht Basistypen Learning By Doing Basistypen s. Buch S. 66

7 Ausdrücke/Operatoren
Learning By Doing Ausdrücke/Operatoren s. Buch S. 72/73

8 Ausdrücke/Operatoren
Ausrücke/Op 2. Teil Learning By Doing Ausdrücke/Operatoren s. Buch S. 72/73

9 Strings Nicht einfach Zeichenketten, sondern Instanzen einer Klasse
Learning By Doing Strings Nicht einfach Zeichenketten, sondern Instanzen einer Klasse In Java eine sehr spezielle Implementierung unveränderlich (immutable) in einem speziellen Speicherbereich (String pool) + - Operator überladen (Konkatenation) Erzeugung mit String-Literal (Anführungszeichen) String s = "Heute ist der "; ... Date today = new Date(); String s = s + today.toString(); enger Zusammenhang mit Klassen StringBuffer und StringBuilder sb.charAt() sb.deleteCharAt() sb.setCharAt() sb.insert() sb.append()

10 Learning By Doing // WbzEx3.java import javax.swing.JOptionPane;
class WbzEx3 { WbzEx3() String town = "Bern"; String answer = ""; boolean quitting = false; while (!quitting) String input = JOptionPane.showInputDialog( "Wo findet der Wbz-Kurs statt?"); if (input == null) quitting = true; else if (input.equals(town)) answer = "richtig"; } answer = "falsch"; JOptionPane.showMessageDialog( null, answer); System.exit(0); public static void main(String[] args) { new WbzEx3(); }

11 Arrays Learning By Doing
Analog math. Vektor: Statt von Komponenten spricht man von Elementen Elemente haben alle denselben Datentyp Elemente werden mit einem Arrayindex, der immer bei 0 beginnt, angesprochen Ein Array ist ein Objekt (mit etwas speziellen Eigenschaften) Ein Array wird mit einer Referenzvariablen (Arrayreferenz) angesprochen. Deklaration: int[] a; auch: int a[]; Das Arrayobjekt (d.h. die Elemente) befinden sich auf dem Heap. Erzeugung: a = new int[6]; Anzahl kann int-Variable sein (semistatisch) Übliche Kurzschreibweise: int[] a = new int[6]; Erzeugung/Initialisierung in Kurzschreibweise: int[] a = {1, 2, 3, 6, 5, 4}; Anzahl Arrayelemente: int, keine Klammern (kein Methodenaufruf) a.length; Lesen/Schreiben (Random access): a[0], a[1], a[2], a[3], a[4], a[5] s. Buch S. 99ff


Herunterladen ppt "Variablenkonzept Klassisch, in Java Basistyp"

Ähnliche Präsentationen


Google-Anzeigen