Java: Referenzen und Zeichenketten

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
Imperative Programmierung
der Universität Oldenburg
Imperative Programmierung
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Kapselung , toString , equals , Java API
3 Sprachelemente und Anweisungen JavaHS Merseburg (FH) WS 06/07 Strings (Zeichenketten)
FH-Hof Einbindung von JavaScript Anweisungen
Threads Richard Göbel.
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Motivation Richard Göbel.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
DO...WHILE Anweisung.
Programmieren mit JAVA
Programmieren mit JAVA
Vererbung Spezialisierung von Klassen in JAVA möglich durch
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
Zusammenfassung Vorwoche
Abstrakter Datentyp in C++ I - Klasse -
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Objektorientiertes Konstruieren
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Instanzmethoden
Programmiervorkurs WS 2014 Referenzdatentypen
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Einführung in die Programmierung mit Java
Objektorientierte Programmierung (OOP)
Grundkurs Informatik 11-13
 Präsentation transkript:

Java: Referenzen und Zeichenketten Richard Göbel

Referenzen- Konzept Alle Variablen und Argumente für intrinsische Datentypen enthalten direkt einen Wert. Objekte enthalten eine Referenz. Operationen auf Objekten: Zuweisungen erzeugen nur eine Kopie der Referenz und keine Kopie des Objekts. Vergleichsoperationen vergleichen in der Regel nur die Referenzen und nicht die Objekte. int x = 17; 17 x: Student s = new Student(); s: Student name: “Meier“ alter: 19

Referenzen - Beispiel . . . public class C { int v1; 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);

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!

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

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; }

Zeichenketten - Datenstruktur StringBuffer 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. char c; StringBuffer sb; String s; sb=new StringBuffer(1000); while ( . . . ) { . . . c = str.read(); sb = sb.append(c); } s = new String(sb);

Zeichenkette - Methode toString 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. public class Person { String name; int alter; . . . public String toString() return “Person: “ + name + “, “ + alter; }