.%: %YXSVIR9PVMOI&ÔXXGLIV(MVO*VMWGLEPS[WOM -RLEPXPMGLIW0IOXSVEX%RHVIEW,SPYFIO %YJPEKIZSQ2SZIQFIV +VYRHPEKIR4VSKVEQQMIVYRK

Größe: px
Ab Seite anzeigen:

Download ".%: %YXSVIR9PVMOI&ÔXXGLIV(MVO*VMWGLEPS[WOM -RLEPXPMGLIW0IOXSVEX%RHVIEW,SPYFIO %YJPEKIZSQ2SZIQFIV +VYRHPEKIR4VSKVEQQMIVYRK"

Transkript

1 .%: %YXSVIR9PVMOI&ÔXXGLIV(MVO*VMWGLEPS[WOM -RLEPXPMGLIW0IOXSVEX%RHVIEW,SPYFIO %YJPEKIZSQ2SZIQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX %PPI 6IGLXI ZSVFILEPXIR /IMR 8IMP HIW ;IVOIW HEVJ MR MVKIRHIMRIV*SVQ(VYGO*SXSOSTMI1MGVSJMPQSHIVIMRIQ ERHIVIR :IVJELVIR SLRI WGLVMJXPMGLI +IRILQMKYRK HIW,IVEYWKIFIVW VITVSHY^MIVX SHIV YRXIV :IV[IRHYRK IPIOXVSRMWGLIV 7]WXIQI ZIVEVFIMXIX ZIVZMIPJÂPXMKX SHIV ZIVFVIMXIX[IVHIR (MIWI 9RXIVPEKI [YVHI QMX KVS½IV 7SVKJEPX IVWXIPPX YRH KITVÚJX 8VSX^HIQ OÔRRIR *ILPIV RMGLX ZSPPOSQQIR EYW KIWGLPSWWIR [IVHIR :IVPEK,IVEYWKIFIV YRH %YXSVIR OÔRRIRJÚVJILPIVLEJXI%RKEFIRYRHHIVIR*SPKIR[IHIV IMRI NYVMWXMWGLI :IVERX[SVXYRK RSGL MVKIRHIMRI,EJXYRK ÚFIVRILQIR (MI &MPHYRKWQIHMIR HIW,)6(8:IVPEKW IRXLEPXIR 0MROW F^[ :IV[IMWI EYJ -RXIVRIXWIMXIR ERHIVIV %RFMIXIV %YJ -RLEPX YRH +IWXEPXYRK HMIWIV %RKIFSXI LEX HIV,)6(8 :IVPEK OIMRIVPIM )MRJPYWW,MIVJÚV WMRH EPPIMRI HMI NI[IM PMKIR%RFMIXIVZIVERX[SVXPMGL *AVA3$+V +VYRHPEKIR4VSKVEQQMIVYRK Ã Ã Ã.%:

2 INHALTSVERZEICHNIS Java 2 SDK v Grundlagen Programmierung 1 Einführung Was Sie wissen sollten Java - die Programmiersprache Einsatzgebiete von Java Java Development Kit (JDK) Wie arbeitet Java? Informationsquellen im Internet Schnellübersicht Installation des JDK Systemvoraussetzungen Installieren des JDK Installieren der Dokumentation JDK konfigurieren Installation testen Verzeichnisstruktur des JDK Beispiele und Übungen installieren Übung Programme compilieren und ausführen Erstellen eines Java-Programms Der Java-Compiler javac Der Java-Interpreter java (javaw) Der Appletviewer Aufbau von Programmen Grundelemente Anwendungen und Applets Aufbau von Anwendungen Standard-Ein- und -Ausgabe über die Konsole Übung Grundlegende Sprachelemente Grundlegende Sprachelemente Reservierte Wörter Literale Bezeichner Kommentare Anweisungen und Anweisungsblöcke Gültigkeitsbereich Ausdrücke Wertzuweisungen Primitive Datentypen Numerische Datentypen Zeichen-Datentyp Boolescher Datentyp Variablen Syntax der Variablendeklaration Wertzuweisung an Variablen Konstanten Operatoren Arithmetische Operatoren Inkrementierung und Dekrementierung Logische Operatoren Bitweise Operatoren Vergleichsoperatoren Übung Kontrollstrukturen Grundlagen if-anweisung if-else-anweisung Bedingungsoperator?: switch-anweisung for-anweisung while-anweisung do-while-anweisung Weitere Kontrollstrukturen Schnellübersicht Übungen Klassen, Objekte und Methoden Einführung Klassen und Kapselung Daten und Methoden Klassen und Instanzen Klassenhierarchie und Vererbung Klassen Grundlagen und Verwendung Syntax Regeln zum Benennen von Klassen Objekte erzeugen und freigeben Methoden Syntax Regeln zum Benennen von Methoden Parameterübergabe an Methoden Überladen von Methoden Rekursion this Konstruktoren Destruktoren Zugriffsattribute Statische Variablen und Methoden Übung Arrays und Wrapper-Klassen Arrays Wrapper-Klassen Übung Vererbung Grundlagen Die Klasse Object Konstruktoraufrufe Vererbungsketten und Zuweisungskompatibilität Polymorphie...103

3 Inhaltsverzeichnis I 9.3 Methoden überschreiben Abstrakte Klassen und Methoden Finale Klassen Übung Packages Grundlagen Packages einbinden Zugriffsrechte in Packages Übung Interfaces Interfaces Adapterklassen Innere Klassen Anonyme Klassen Übung Exceptions Grundlagen Exceptions behandeln und weitergeben Exceptions behandeln Exceptions weitergeben Ressourcenschutzblöcke Exceptions auslösen Eigene Exceptions erzeugen Übung Assertions Grundlagen Verwendung von assert Übung Arbeit mit Strings Die Klasse String Methoden der Klasse String Die Klasse StringBuffer Übung Ein-/Ausgaben auf die Konsole und in Dateien Grundlagen Standard-Ein- und -Ausgabe Die Klasse File RandomAccessFiles Übung Streams Grundlagen CharacterStreams Ausgabe-Streams Eingabe-Streams Ein- und Ausgabe in Dateien Gepufferte Ein- und Ausgabe Ein- und Ausgabe von primitiven Datentypen Gefilterte Ein- und Ausgabe Ein- und Ausgabe in Strings und Character-Arrays ByteStreams Übung Collections Grundlagen Collections vom Typ List Implementationen von List Iterator-Interfaces Praktische Hinweise Hash-Tabellen und Bäume Collections vom Typ Set Collections vom Typ Map Die Klasse Collections Übung Nützliche Klassen und Packages Zufallszahlen Datum und Zeit Die Klasse System Systeminformationen ermitteln Weitere Methoden der Klasse System Übung jar-archive Grundlagen Manifest-Datei Archive erstellen und bearbeiten Verwendung von Archiven Übung Anwendungsweitergabe mit dem JRE Grundlagen Vorbereitung JRE installieren und konfigurieren Anwendung weitergeben Übung Dokumentation mit javadoc Grundlagen Verwendung von javadoc Optionen Dokumentationskommentare Doclets Taglets Übung Stichwortverzeichnis

4 14 Java 2 SDK v Grundlagen Programmierung 14 Arbeit mit Strings In diesem Kapitel erfahren Sie welche nützlichen Methoden die Klasse String bietet wie Sie Strings vergleichen wozu die Klasse StringBuffer dient wie Sie effizient Strings verketten Voraussetzungen Erzeugen von Objekten Verwenden von Methoden 14.1 Die Klasse String Für die Arbeit mit Zeichenketten stellt Java die Klasse String zur Verfügung. Aufgrund der Tatsache, dass es sich um eine Klasse handelt, besitzt String noch zusätzliche Methoden zur Arbeit mit Zeichenketten. Außerdem gelten einige Besonderheiten. String ist eine Klasse und kein Array aus Zeichen wie in anderen Programmiersprachen. Damit referenzieren Variablen vom Typ String Objekte. Die Klasse String ist als final deklariert, sodass Sie davon keine weiteren Klassen ableiten können. Da diese Klasse außerdem keine set-methoden zum Ändern der gespeicherten Zeichenkette besitzt (wie auch die Wrapper-Klassen für die Grunddatentypen), werden die erzeugten Objekte auch unmutable (unveränderlich) genannt. Obwohl es sich bei String um eine Klasse handelt, müssen Sie deren Instanzen nicht über new erzeugen (es ist aber möglich), z. B. String s = "Neue Zeichenkette ohne new". Zeichenketten werden in doppelte Anführungszeichen eingeschlossen und können über das Zeichen + verkettet werden. Die Zeichenketten bestehen aus UniCode-Zeichen. Der einem String zugewiesene Wert kann nicht mehr geändert werden. In diesen Fällen wird immer ein neues String-Objekt erzeugt und das alte freigegeben. Damit bleiben die Länge und der Inhalt eines Strings immer konstant. Erzeugen eines Strings oder Deklarieren Sie eine Variable vom Typ String, z. B. String s;. Initialisieren Sie die Variable sofort nach der Deklaration, z. B.. Weisen Sie der Variablen ein Literal oder eine andere String-Variable zu: s = "Neue Zeichenkette"; String s2 = "Neu"; s = s2; 140

5 Arbeit mit Strings 14 Verketten von Strings Das Verketten von Strings können Sie über das Zeichen + durchführen. Dabei führt Java bei der folgenden Verkettung die angegebenen Operationen durch: String s = "Auf Wiedersehen"; String s1 = "Hal"; String s2 = "lo"; s = s1 + s2; Aus dem Ergebnis der Verkettung s1 + s2 wird ein neues String-Objekt erzeugt. Die Variable s referenziert nicht mehr das String-Objekt "Auf Wiedersehen", sondern den neu erzeugten String. Das vorher referenzierte Objekt "Auf Wiedersehen" wird vom Garbage-Collector bereinigt. Die oben beschriebene Arbeitsweise hängt zusätzlich von der Implementierung des Java-Compilers ab, der in vielen Situationen eine Optimierung vornimmt. Dadurch kann z. B. eine wie oben angegebene Operation (s1 + s2) schon zur Compilierzeit erfolgen, und der String s besitzt schon zum Programmstart den Inhalt Hallo. In den Fällen, in denen der Compiler keine Optimierung vornehmen kann, wird der beschriebene Weg verfolgt. Gleichheit von Strings testen Es gibt verschiedene Möglichkeiten, die Gleichheit von Strings zu testen. Dabei spielt es eine große Rolle, wie Java Strings intern verwaltet (dies kann sich jedoch in verschiedenen Implementierungen ändern). Strings, deren Inhalt zur Compilierzeit feststeht, z. B. String s = "Hallo", werden nur einmal angelegt (ein String-Pool wird erzeugt). Existieren zur Compilierzeit weitere Strings mit dem gleichen Inhalt, verweisen alle auf die gleiche interne Zeichenkette "Hallo", d. h. auf das gleiche Objekt. Werden Strings dynamisch zur Laufzeit eines Programms erzeugt oder verändert, erzeugt Java immer ein neues separates String-Objekt. == Über diesem Operator vergleichen Sie keine Inhalte der String-Objekte, sondern Referenzen auf String-Objekte. Im Falle von zwei identischen String-Konstanten, vgl. folgendes Beispiel, liefert == das Ergebnis true. Haben Sie jedoch im Programm einen String mit dem identischen Inhalt dynamisch erzeugt, wird false als Ergebnis geliefert, da dieser als neues Objekt erzeugt wird. equals compareto Der Vergleich mit equals ist die richtige Vorgehensweise zum String-Vergleich, denn hier wird wirklich der Inhalt der Zeichenketten verglichen. Als Ergebnis wird true oder false geliefert. Über compareto haben Sie zusätzlich die Möglichkeit, Strings lexikografisch zu vergleichen. Rückgabewerte sind 0, kleiner und größer als 0. Notizen 141

6 14 Java 2 SDK v Grundlagen Programmierung Beispiel: com\herdt\java14\kap14\stringcompare.java Das folgende Beispiel zeigt die möglichen Vergleiche von Zeichenketten und gibt deren Ergebnisse auf der Konsole aus. = public static void main(string[] args) { String s1 = "Hallo"; String s2 = "Hallo"; String s3 = new String("Hallo"); String s4 = "Hallo2"; A B System.out.println("s1 == s2 : " + (s1 == s2)); System.out.println("s2 == s3 : " + (s2 == s3)); // liefert true // liefert false C D E System.out.println("s1 equals s2 : " + (s1.equals(s2))); // liefert true System.out.println("s2 equals s3 : " + (s2.equals(s3))); // liefert true System.out.println("s1 compareto s2 : " + (s1.compareto(s2))); // liefert 0 System.out.println("s2 compareto s3 : " + (s2.compareto(s3))); // liefert 0 System.out.println("s2 compareto s4 : " + (s2.compareto(s4))); // liefert -1 } = Die Variable s1 wird mit dem Literal Hallo initialisiert. > Die Variable s2 wird mit dem Literal Hallo initialisiert.? Der Variablen s3 wird erst zur Laufzeit die Zeichenkette Hallo zugewiesen. Der Compiler kann hier nicht feststellen, dass es sich um das gleiche Literal wie bei s1 und s2 Die Variable s4 wird mit dem Literal Hallo2 initialisiert. Bei s1, s2 und s4 steht schon während der Compilierzeit der Wert dieser Variablen fest. Aus diesem Grund kann Java diese Literale intern verwalten und erzeugt für die Literale Hallo nur ein Objekt. Auf diese verweisen dann sowohl s1 als auch s2. A Die Variablen s1 und s2 werden auf die Gleichheit ihrer Referenzen auf ein Objekt geprüft. Dadurch, dass Sie zur Compilierzeit angelegt wurden, verweisen sie auf das gleiche interne Objekt. B Da s3 dynamisch erzeugt wird, liefert der Vergleich der Objektgleichheit mit s2 das Ergebnis false. C Mit equals wird wirklich die Zeichenkette selbst verglichen. Da s1 und s2 auf das gleiche Objekt zeigen, wird true zurückgegeben. D Jetzt liefert auch der Vergleich von s2 und s3 das Resultat true, da nur der Inhalt der Zeichenketten verglichen wird. E Über compareto können Sie nicht nur die Zeichenketten auf Gleichheit testen. Zusätzlich ist ein Vergleich auf größer und kleiner als möglich. Da s1 und s2 die Zeichenkette Hallo referenzieren, liefert compareto den Wert 0 (entspricht gleich). Auch s3 und s2 sind bei dem Vergleich mit compareto gleich. Die Variable s4 referenziert eine andere Zeichenkette als s2. Deshalb liefert compareto den Wert -1 (s4 ist lexikografisch größer als s2) Methoden der Klasse String Die Klasse String bietet einige nützliche Methoden, die im Folgenden erläutert werden. Die Methoden können auf die folgenden Arten verwendet werden. String s = String.valueOf(..); // Klassenmethode String s = "abc".substring(..); // "abc" wird auch als String-Objekt interpretiert String s = s.substring(..); // üblicher Methodenaufruf für das aktuelle Objekt 142

7 Arbeit mit Strings 14 Methode Beschreibung Beispiel char charat(int index) boolean endswith (String value) boolean equals (Object value) boolean equalsignorecase (String value) int indexof (String value) String intern() Liefert das Zeichen an der Position index (0..n-1) Überprüft, ob der String mit value endet; liefert true, wenn value gleich "" oder gleich dem String ist Überprüft den String auf inhaltliche Gleichheit mit einem Objekt bzw. anderen String. equalsignorecase ignoriert dabei die Groß-/Kleinschreibung. Liefert den Index innerhalb eines Strings, an dem der übergebene Teil- String value beginnt. Es gibt noch weitere Varianten von indexof. Über diese Methode wird ein String aus dem vorhandenen StringPool geliefert bzw. ein nicht vorhandener darin eingefügt. char c = "abc".charat(1); // c hat den Inhalt b String s = "Test"; s.endswith("test") => true s.endswith("st") => true boolean b; b = s.equals("hall"); // b = false int i = s.indexof("ll"); // i = 2 String s2 = s.intern(); int length() Liefert die Länge der Zeichenkette int len = s.length(); // 5 String replace (char oldc, char newc) String substring(int s) String substring(int s1, int s2) Ersetzt alle vorkommenden Zeichen oldc durch das Zeichen newc Liefert einen Teil-String beginnend beim Index s bis zum Ende bzw. von s1 bis (s2-1) s = s.replace('l', 's'); // s = "Hasso"; s = s.substring(2, 4); // s = "ll"; String tolowercase() String touppercase() Diese Methoden wandeln die Zeichen eines Strings in Klein- bzw. Großschreibung um. Prüfen Sie gegebenenfalls, wie Buchstaben wie das Zeichen ß konvertiert werden. s = s.touppercase(); // s = "HALLO" trim Entfernt alle Zeichen <= '\u0020' am Beginn und Ende des Strings String s = " Hallo "; s = s.trim(); // "Hallo" String valueof (Datentyp var) Liefert die String-Beschreibung des Datentyps bzw. des Objekts int i = 10; String s; s = String.valueOf(i); // = "10" Notizen 143

8 14 Java 2 SDK v Grundlagen Programmierung 14.3 Die Klasse StringBuffer Die Klasse String bietet keine Möglichkeit, einen String nachträglich zu ändern. In diesem Fall wird immer ein neues Objekt erzeugt und der entsprechenden Variablen zugewiesen. Abhilfe schafft die Klasse String- Buffer, die sich dynamisch der Größe der gespeicherten Zeichenkette anpasst. Sie hat die folgenden Eigenschaften: Die Klasse StringBuffer kann veränderliche Strings verwalten. Sie stellt Methoden zu deren Manipulation bereit. Aufgrund der dynamischen Verwaltung der Zeichenkette sind alle Operationen mit einem StringBuffer schneller als mit Strings. Strings sind jedoch in der Handhabung einfacher und in einigen Situationen aufgrund ihrer Unveränderbarkeit besser einzusetzen. Die Größe des Puffers passt sich dynamisch an die Größe des Strings an. Die Vergrößerung des Puffers wird durch Verdopplung der momentanen Speichergröße erreicht. Gegenüber der Klasse String hat die Klasse StringBuffer die Nachteile, dass sie mehr Speicher benötigt (die Kapazität eines StringBuffer ist größer als die gespeicherte Länge des Strings) und nicht mehrfach einen identischen String referenzieren kann. Für zur Compilierzeit identische Strings wird nur ein String-Objekt angelegt. StringBuffer erzeugen Verwenden Sie den parameterlosen Konstruktor, um einen StringBuffer mit der eingestellten Initialkapazität (16 Zeichen) zu erzeugen: StringBuffer(). Durch die Angabe einer Länge als Parameter kann die Initialkapazität angepasst werden: StringBuffer(int length). Durch die Angabe eines Strings wird eine Kopie im StringBuffer erzeugt. Die Kapazität wird der String-Größe angepasst: StringBuffer(String str). Die Verkettung von Strings wird intern in Operationen eines StringBuffers umgewandelt. Für die Anweisungen, String a = "Sie "; String b = "verwenden "; String c = "einen "; String d = "StringBuffer"; a = a + b + c + d; wird durch den Compiler die folgende Anweisung erzeugt: a = new StringBuffer(a).append(b).append(c).append(d).toString(); Umwandeln eines StringBuffer-Objekts in einen String oder Verwenden Sie die Methode tostring der Klasse StringBuffer: StringBuffer sb = new StringBuffer("Hallo"); String s = StringBuffer.toString(); Verwenden Sie den Konstruktor von String, der einen Parameter vom Typ StringBuffer erlaubt: StringBuffer sb = new StringBuffer("Hallo"); String s = new String(sb); 144

9 Arbeit mit Strings 14 Methoden der Klasse StringBuffer Methode Beschreibung Beispiel StringBuffer s; s = new StringBuffer(); append(typ value) Es gibt verschiedene Varianten von append, die unterschiedliche Parametertypen verwenden (int, double, Object,...). Diese Typen werden in einen String umgewandelt und an den Puffer angehängt. s.append("1 + 2 = "); s.append(1+2); // s = "1 + 2 = 3" int capacity() Liefert die aktuelle Kapazität des Puffers int i = s.capacity(); // 16 char charat(int index) setcharat(int index, char c) Liefert das Zeichen mit dem betreffenden Index bzw. ändert es char c = s.charat(2); // c = '+' insert(int index, Typ value) Fügt ab der Position index die String- Repräsentation des Parameters value ein (vgl. append) s.insert(0, "("); s.insert(6, ")"); // s = "(1 + 2) = 3" int length() Liefert die Länge des gespeicherten Strings int i = s.length(); // 11 setlength(int value) Ändert die String-Länge, nicht die des Puffers. Entweder wird der String abgeschnitten oder mit \u0000 aufgefüllt. s.setlength(10); // s = "(1 + 2) = "; String tostring() Liefert die String-Repräsentation des StringBuffer String str = s.tostring(); Beispiel: com\herdt\java14\kap14\stringpuffer.java Das folgende Beispiel demonstriert, wie Sie durch die Verwendung der Klasse StringBuffer wesentliche Performance-Steigerungen bei umfangreichen String-Operationen erreichen. Die Verkettung über Strings benötigt teilweise bis zu 1000-mal mehr Zeit als die Methode append der Klasse StringBuffer. Dies hängt natürlich auch von der gewählten Puffergröße ab. Beachten Sie, dass das Programm je nach Hardwareausstattung mehrere Minuten benötigt. Verringern Sie gegebenenfalls die Anzahl der Durchläufe. = A B C public static void main(string[] args) { String s1 = "X"; StringBuffer sb = new StringBuffer(); long t1, t2; t1 = System.currentTimeMillis(); for(int i = 1; i < 50001; i++) s1 = s1 + "X"; t2 = System.currentTimeMillis(); System.out.println("Verkettung mit String: " + (t2 - t1)); D t1 = System.currentTimeMillis(); for(int i = 1; i < 50001; i++) sb.append("x"); t2 = System.currentTimeMillis(); System.out.println("Verkettung mit StringBuffer: " + (t2 - t1)); } 145

10 14 Java 2 SDK v Grundlagen Programmierung = Die Zeichenkette s1 wird mit dem Zeichen X initialisiert. > Ein StringBuffer-Objekt muss explizit über new erzeugt werden. Es wird die Standardkapazität verwendet. Sie können dieses Beispiel noch effizienter machen, indem Sie den StringBuffer mit einer Initialkapazität von z. B erzeugen (new StringBuffer(51000)). Dadurch entfallen die Operationen für das Vergrößern des Buffers. Diese Vorgehensweise sollte immer angewendet werden, wenn sicher ist, das die Standardgröße des StringBuffers von 16 nicht ausreicht. Ansonsten wird Speicherplatz verschwendet.? Die Variablen t1 und t2 werden zur Zeitmessung Die Methode currenttimemillis liefert die aktuelle Zeit in Millisekunden seit dem Für die spätere Differenzbildung ist der Startzeitpunkt des Zählers nicht relevant. A In einer for-anweisung wird mal das Zeichen X an den String s1 angehängt. Dadurch werden sehr viele temporäre Objekte erzeugt, was dementsprechend viel Zeit in Anspruch nimmt. B Die Zeit wird erneut gemessen. C Die benötigte Zeit wird in Millisekunden ausgegeben. D Die gleiche Vorgehensweise wird für die Verkettung über einen StringBuffer genutzt. Da hier nur ein Objekt erzeugt wird und höchstens dessen Kapazität wächst, wird eine wesentlich kürzere Zeit zur Ausführung benötigt. Nach der Operation könnten Sie das Ergebnis wieder einem String zuweisen Übung = Sortieren Sie die Namen Meier und Mayer über die Methode compareto der Klasse String, und geben Sie diese alphabetisch sortiert aus. > Wandeln Sie vor der Ausgabe die Namen aus Übung = in Kleinbuchstaben um.? Schreiben Sie eine Methode, die einen Namen als Parameter entgegennimmt. In der Methode soll über die Klasse StringBuffer der folgende String zusammengesetzt und ausgegeben werden: Sehr geehrte(r) Frau/Herr <hier kommt der Parameter>, wir gratulieren Ihnen zur erfolgreichen Lösung der Übungsaufgabe. 146

11 Arbeit mit Strings 14 Notizen 147

)MROEYJÃ&IWXIPPEF[MGOPYRKÃÃ

)MROEYJÃ&IWXIPPEF[MGOPYRKÃÃ 7&11 %YXSV+,EYGOI /SEYXSV%3FIVLSJ %YJPEKIZSQ2SZIQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX %PPI 6IGLXI ZSVFILEPXIR /IMR 8IMP HIW

Mehr

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata:

String s1, s2; Eine Zuweisung geschieht am einfachsten direkt durch Angabe des Strings eingeschlossen in doppelte Hochkommata: Informatik mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da aber

Mehr

Der Datentyp String. Stringvariable und -vergleiche

Der Datentyp String. Stringvariable und -vergleiche Informatik 12 mit Java: Gierhardt Zeichenketten bzw. Strings Der Datentyp String Zeichenketten bzw. Strings sind eine häufig benutzte Datenstruktur. Man könnte auch mit Arrays aus Zeichen arbeiten. Da

Mehr

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions Kapitel 10 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Exceptions Behandlung von Exceptions Der finally-block catch or throw WS 07/08 1/ 23 2/ 23 Grundlagen von Exceptions

Mehr

%FWGLPY½EVFIMXIRÃ&IVMGLXW[IWIRÃÃ

%FWGLPY½EVFIMXIRÃ&IVMGLXW[IWIRÃÃ 7&*- %YXSV1/SVXIRNERR /SEYXSV%3FIVLSJ %YJPEKIZSQ2SZIQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX %PPI 6IGLXI ZSVFILEPXIR /IMR 8IMP

Mehr

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 18: Strings Stefan Brass: OOP (Java), 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, +VYRHPEKIR8I\XZIVEVFIMXYRK

F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, +VYRHPEKIR8I\XZIVEVFIMXYRK ;; %YXSVIR4*SGLPIV,1SX^ %YJPEKIZSQ.ERYEV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX %PPI 6IGLXI ZSVFILEPXIR /IMR 8IMP HIW ;IVOIW HEVJ

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Objektorientierte Programmierung. Kapitel 18: Strings

Objektorientierte Programmierung. Kapitel 18: Strings 18. Strings 1/16 Objektorientierte Programmierung Kapitel 18: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/ brass/oop13/ 18.

Mehr

Objektorientierte Programmierung. Kapitel 10: Strings

Objektorientierte Programmierung. Kapitel 10: Strings 10. Strings 1/16 Objektorientierte Programmierung Kapitel 10: Strings Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/ 10.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität

Mehr

%YXSVIR,1SX^6/ÔLPIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, >IMGLRYRKIR(MEKVEQQI4PÂRI

%YXSVIR,1SX^6/ÔLPIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, >IMGLRYRKIR(MEKVEQQI4PÂRI :; %YXSVIR,1SX^6/ÔLPIV %YJPEKIZSQ(I^IQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX %PPI 6IGLXI ZSVFILEPXIR /IMR 8IMP HIW ;IVOIW HEVJ

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Zeichenketten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java. 16.

Zeichenketten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java. 16. Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16. Mai 2007 G. Bohlender (IANM UNI Karlsruhe) Zeichenketten 16. Mai 2007 1

Mehr

1 Hashing und die Klasse String

1 Hashing und die Klasse String 1 Hashing und die Klasse String Die Klasse String stellt Wörter von (Unicode-) Zeichen dar. Objekte dieser Klasse sind stets konstant, d.h. können nicht verändert werden (immutable). Die Zeichenkette ist

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Die Klasse java.lang.object. Thorsten Treffer

Die Klasse java.lang.object. Thorsten Treffer Die Klasse java.lang.object Thorsten Treffer 6. Dezember 2003 1 java.lang.object Die Klassenhierarchie von Java kann als Baum aufgezeichnet werden, dessen Wurzel die Klasse Object ist. Mit anderen Worten:

Mehr

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Verarbeitung von Zeichenketten

Verarbeitung von Zeichenketten Verarbeitung von Zeichenketten Character Die Character-Klassebietet statische Prüffunktionen isxxx(), die bestimmen, ob ein char einer gewissen Kategorie angehört. (Ist der char eine Ziffer, ein Leerzeichen,

Mehr

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21

Inhaltsverzeichnis. 1 Grundlagen 1. 2 Einfache Programme 21 xi 1 Grundlagen 1 1.1 Daten und Befehle......................................... 2 1.2 Algorithmen............................................. 4 1.3 Variablen................................................

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

%YXSVIRÃ+IWIPPWGLEJXÃJÚVÃ-RJSVQEXMSRWXIGLRSPSKMIÃ

%YXSVIRÃ+IWIPPWGLEJXÃJÚVÃ-RJSVQEXMSRWXIGLRSPSKMIÃ 7'&60& %YXSVIR+IWIPPWGLEJXJÚV-RJSVQEXMSRWXIGLRSPSKMI YRH5YEPMJM^MIVYRK %YJPEKIZSQ2SZIQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX %PPI

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Zeichenketten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Zeichenketten 2 Erzeugen von Zeichenketten 3 Operatoren für

Mehr

String vs. StringBuffer. Class String

String vs. StringBuffer. Class String String vs. StringBuffer Der Inhalt eines String-Objektes kann nicht verändert werden, während ein StringBuffer-Objekt eine unbegrenzte Anzahl veränderbarer Zeichen aufnehmen und effizient eine Zeichenkette

Mehr

Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik

Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik Programmieren I Strings und Wrapperklassen Heusch 7.3 Ratz 6.5.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Die Klasse String Für Zeichenketten gibt es in Java die Klasse String

Mehr

HEUTE. Unterschiede Pseudocode / Programmcode. Rundung und modulo (Tafel) Pseudocode: findprimeswithdifference. Strings in JAVA.

HEUTE. Unterschiede Pseudocode / Programmcode. Rundung und modulo (Tafel) Pseudocode: findprimeswithdifference. Strings in JAVA. 15.11.06 1 HEUTE 15.11.06 3 Unterschiede Pseudocode / Programmcode Rundung und modulo (Tafel) Pseudocode: findprimeswithdifference Strings in JAVA Pseudocode: kontextfrei Variablentyp passend Schleifen

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte

Mehr

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) ArrayList 0 1 2 Obj0 Obj1 size() - 1 15.12.2014 CuP - VO 2 Auer 1 ArrayList import java.util.arraylist; ArrayList buchliste; buchliste = new ArrayList();

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Patrick Kreutzer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2016/2017 Willkommen zum Informatik-Repetitorium!

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr

Organisatorisches. Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, , 14 Uhr bis Do, , 8Uhr Organisatorisches Neue Übungsblätter: Nur mehr elektronisch? Abgabe Di, 14.10., 14 Uhr bis Do, 23.10., 8Uhr. 14.10.2014 IT I - VO 1 1 IT I: Heute Wiederholung CuP ctd: this Arrays, ArrayLists Schleifen:

Mehr

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50

Organisatorisches. drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Organisatorisches Vorlesung Donnerstag 8:35 bis 10:05 Übung drei Gruppen Gruppe 1: 10:10-11:40, Gruppe 2: 11:45-13:15 Gruppe 3: 13:20-14:50 Tutorium (Mehr oder weniger) abwechselnd Mo und Mi 10-11:30 Termine

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9 Java Einführung Objekt-Datentypen und Strings Kapitel 8 und 9 Inhalt Was sind Objekt-Datentypen Sonderheiten bei Zuweisung und Vergleich Zeichenketten (Strings) Zeichencodes Char, Char-Arrays und Strings

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 1 15.03.2017 Objektorientierte Programmierung (Studiengang Medieninformatik) Form: Prüfung:

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes Zeichen Datentyp char char ch = 'x'; Zeichenvariable Zeichenkonstante (unter einfachen Hochkommas) Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes ASCII (American Standard

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

Java Datentypen und Variablen

Java Datentypen und Variablen Informatik 1 für Nebenfachstudierende Grundmodul Java Datentypen und Variablen Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht

Mehr

Methoden und Wrapperklassen

Methoden und Wrapperklassen Methoden und Wrapperklassen CoMa-Übung IV TU Berlin 06.11.2012 CoMa-Übung IV (TU Berlin) Methoden und Wrapperklassen 06.11.2012 1 / 24 Themen der Übung 1 Methoden 2 Wrapper-Klassen CoMa-Übung IV (TU Berlin)

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Einführung in die Informatik Objekte

Einführung in die Informatik Objekte Einführung in die Informatik Objekte Referenzen, Methoden, Klassen, Variablen, Objekte Wolfram Burgard 3.1 Referenzen Eine Referenz in Java ist jede Phrase, die sich auf ein Objekt bezieht. Referenzen

Mehr

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4 Inhaltsverzeichnis TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA... 1 1 GRUNDLAGEN DER PROGRAMMIERUNG... 4 1.1 Das erste Java-Programm... 4 1.2 Programme und ihre Abläufe... 6 1.3 Entwurf mit Nassi-Shneiderman-Diagrammen...

Mehr

Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik

Programmieren I. Strings und Wrapperklassen Heusch 7.3 Ratz Institut für Angewandte Informatik Programmieren I Strings und Wrapperklassen Heusch 7.3 Ratz 6.5.2 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Die Klasse String Für Zeichenketten gibt es in Java die Klasse String

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2

Inhaltsverzeichnis. Kurseinheit 1. Kurseinheit 2 iii Inhaltsverzeichnis Kurseinheit 1 1 Von der Aufgabenstellung zum Programm... 1 1.1 Motivation... 1 1.2 Softwareentwicklung... 2 1.3 EXKURS: Unified Modeling Language (UML)... 4 2 Anforderungsanalyse...

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Tafelübung 03 Vererbung, Polymorphie, Sichtbarkeit, Interfaces Clemens Lang T2 11. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/26 Klassen und Objekte Klassen und Objekte

Mehr

)'(0%1 %YXSV;SPJKERK1YWGLRIV -RLEPXPMGLIW0IOXSVEX*VERO7GLEFIVX F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF,

)'(0%1 %YXSV;SPJKERK1YWGLRIV -RLEPXPMGLIW0IOXSVEX*VERO7GLEFIVX F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, )'(0%1 %YXSV;SPJKERK1YWGLRIV -RLEPXPMGLIW0IOXSVEX*VERO7GLEFIVX %YJPEKIZSQ2SZIQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX (EW)'(00SKSMWXIMRMR(IYXWGLPERHYRHHIV7GL[IM^IMR

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke

Inhaltsverzeichnis 1 Der objektorientierte Ansatz 2 Elementare Objekte und Ausdrücke Inhaltsverzeichnis 1 Der objektorientierte Ansatz... 1 1.1 Ein einführendes Beispiel...2 1.1.1 Aktive Objekte...4 1.1.2 Klassifikation...4 1.1.3 Datenkapselung...6 1.2 OOP im Überblick...6 1.3 Programmaufbau...7

Mehr

)'(0%1 %YXSVMRRIR3VXVYR+VMPP'LEVPSXXIZSR&VEYRWGL[IMK -RLEPXPMGLIW0IOXSVEX*VERO7GLEFIVX F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF,

)'(0%1 %YXSVMRRIR3VXVYR+VMPP'LEVPSXXIZSR&VEYRWGL[IMK -RLEPXPMGLIW0IOXSVEX*VERO7GLEFIVX F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, )'(0%1 %YXSVMRRIR3VXVYR+VMPP'LEVPSXXIZSR&VEYRWGL[IMK -RLEPXPMGLIW0IOXSVEX*VERO7GLEFIVX %YJPEKIZSQ2SZIQFIV F],)6(8:IVPEKJÚV&MPHYRKWQIHMIR+QF, &SHIRLIMQ -RXIVRIX[[[LIVHX]SYHIEXGL [[[LIVHXFYWMRIWWHIEXGL [[[LIVHXZLWHIEX

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 39 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 39 1 Überblick:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 25 Einstieg in die Informatik mit Java Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 25 1 Die Philosophie 2 Definition

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

Informatik II Übung 06. Benjamin Hepp 5 April 2017 Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Objektorientierte Programmierung und Klassen

Objektorientierte Programmierung und Klassen Objektorientierte Programmierung und Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 16.5.07 G. Bohlender (IANM UNI Karlsruhe) OOP

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

Mehr

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 - 1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1 - 1.

Mehr

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent

magnum C++ WALTER SAUMWEBER kompakt komplett kompetent magnum C++ WALTER SAUMWEBER kompakt komplett kompetent Quickview... 5 Liebe Leserin, lieber Leser... 13 Teil 1 Grundlagen... 15 1 Was ist Programmieren?... 17 1.1 Was ist eigentlich ein Computerprogramm?...

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

Vererbung, Polymorphie

Vererbung, Polymorphie Vererbung, Polymorphie Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 21.1.08 G. Bohlender (IANM UNI Karlsruhe) Vererbung, Polymorphie 21.1.08

Mehr

Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag

Thomas Binzinger. Jetzt lerne ich. Delphi. Markt+Technik Verlag Thomas Binzinger Jetzt lerne ich Delphi Markt+Technik Verlag Inhaltsverzeichnis Vorwort 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 3.1 3.2 3.3 3.4 3.5 3.6 4 4.1 4.2 4.3 4.4 4.5 4.6 5 5.1 5.2 5.3 Was ist Delphi?

Mehr

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 6. Markus Reschke Institut für Programmierung und Reaktive Systeme Java 6 Markus Reschke 13.10.2014 OOP Objekte = Verhalten (durch Methoden) + Daten (durch Attribute) Klassen = Baupläne für Objekte Kapselung von Programmteilen

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

boolean, char, byte, short, int, long long, float, double

boolean, char, byte, short, int, long long, float, double 10 Objekte in Java Sie kennen nun die sogenannten imperativen Bestandteile von Java: Variablen, Verzweigungen und Schleifen. Unser nächstes Ziel ist, Ihnen die objektorientierten Bestandteile zu vermitteln.

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen

Mehr

Datenbankanwendungsprogrammierung Crashkurs Java

Datenbankanwendungsprogrammierung Crashkurs Java Datenbankanwendungsprogrammierung Crashkurs Java Denny Priebe Datenbankanwendungsprogrammierung p. Unterschiede zu C, C++ typedefs, Präprozessor Strukturen, Unions globale Funktionen Mehrfachvererbung

Mehr

Java 6 Programmierhandbuch ntwickier

Java 6 Programmierhandbuch ntwickier 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Dirk Frischalowski Ulrike Böttcher Java 6 Programmierhandbuch ntwickier

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable 1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java 4 Datenfelder, Parameterübergabe, Casting Objektorientierte Programmierung OOP Programmieren mit Java 4 Datenfelder, Parameterübergabe, Casting 4 Datenfelder, Parameterübergabe, Casting 4.1 Datenfelder

Mehr

3.2 Datentypen und Methoden

3.2 Datentypen und Methoden Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte

Mehr

Fragenkatalog ESOP WS 16/17

Fragenkatalog ESOP WS 16/17 Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen

Mehr

Institut für Informatik

Institut für Informatik Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2010 Praktikum: Grundlagen der Programmierung Lösungsblatt 4 Prof. R. Westermann, A. Lehmann, R.

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 27 Einstieg in die Informatik mit Java Klassen als Datenstrukturen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 27 1 Überblick: Klassen als Datenstruktur 2 Vereinbarung

Mehr

2. Unterprogramme und Methoden

2. Unterprogramme und Methoden 2. Unterprogramme und Methoden Durch Methoden wird ausführbarer Code unter einem Namen zusammengefasst. Dieser Code kann unter Verwendung von sogenannten Parametern formuliert sein, denen später beim Aufruf

Mehr

ADT: Java Collections und ArrayList

ADT: Java Collections und ArrayList ADT: Java Collections und ArrayList Überblick der Klassen Object File Collections Map List Set ArrayList LinkedList SortedSet HashSet SortedSet Methode ArrayList Klasse I Beschreibung void add(int position,

Mehr

Übung Praktische Informatik I

Übung Praktische Informatik I Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise

Mehr

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren Hanspeter Mössenböck Sprechen Sie Java? Eine Einführung in das systematische Programmieren 3., überarbeitete und erweiterte Auflage Tm\ dpunkt.verlag 1 Grundlagen 1 1.1 Daten und Befehle 2 1.2 Algorithmen

Mehr