Praktische Softwaretechnologie Vorlesung 5

Größe: px
Ab Seite anzeigen:

Download "Praktische Softwaretechnologie Vorlesung 5"

Transkript

1 Praktische Softwaretechnologie Vorlesung 5 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT November 2006 p.1/41

2 Die API Dokumentation API = Application Programming Interface 166 Packages 3417 Klassen > Methoden und Felder Online Dokumentation (JavaDoc): Zum Download (44MB): Link J2SE 5.0 Documentation auf PSWT November 2006 p.2/41

3 Object vertiefen Die 3 wichtigsten Methoden: tostring() equals() hashcode() PSWT November 2006 p.3/41

4 equals(object) überschreiben Bedingungen an equals: Die Relation {(x, y) x.equals(y) == true auf Referenzen!= null ist Äquivalenzrelation x.equals(null) == false für x!=null Wert von x.equals(y) kann sich nur ändern wenn sich der Zustand von x oder y ändert. Auch hashcode() überschreiben! PSWT November 2006 p.4/41

5 equals(object) überschreiben (forts.) public class Point { private int x,y;... public boolean equals(object o) { if (o instanceof Point) { Point p = (Point)o; return (x == p.x) && (y == p.y); else { return false; Unterklassen mit mehr Zustand (WeightedPoint) sollten equals(object) nicht spezifischer machen! Aufgabe 14 PSWT November 2006 p.5/41

6 equals(object) überschreiben (forts.) public class Point { private int x,y;... public boolean equals(object o) { if (o instanceof Point) { Point p = (Point)o; return (x == p.x) && (y == p.y); else { return false; public int hashcode() { return 31*x + y; PSWT November 2006 p.5/41

7 Die Wrapper Klassen Eine Klasse in java.lang für jeden primitiven Typ: Boolean, Byte, Short, Integer, Long, Character, Float, Double Objekte enthalten unveränderliches Feld vom entspr. Typ Wichtigste Felder/Methoden: MIN_VALUE, MAX_VALUE int intvalue() etc. static Integer valueof(int) static int parseint(string) in Character auch tolower(), toupper(), etc. PSWT November 2006 p.6/41

8 Autoboxing Konvertierung zwischen Wrapper primitiven Typen bei Bedarf: void mprim(int i) {... void mref(integer i) {... int prim = 42; Integer ref = new Integer(23); Compiler wandelt um in mprim(ref) bzw. mref(42) mprim(ref.intvalue()) bzw. mref(integer.valueof(42)) PSWT November 2006 p.7/41

9 Mehr über Strings Wichtigste Methoden: char charat(int index), String substring(...) boolean startswith(string start), boolean endswith(string end) int indexof(string str),... String tolowercase(), String touppercase() Zusätzlich viele Methoden char Unicode code points PSWT November 2006 p.8/41

10 StringBuilder String s = ""; for (int i=0; i<100; i++) { s = s + text(i); PSWT November 2006 p.9/41

11 StringBuilder String s = ""; for (int i=0; i<100; i++) { s = s + text(i); // 100 neue String Objekte! PSWT November 2006 p.9/41

12 StringBuilder String s = ""; for (int i=0; i<100; i++) { s = s + text(i); // 100 neue String Objekte! Besser: Objekt mit StringBuilder bauen, dann String lesen. StringBuilder sb = new StringBuilder(); for (int i=0; i<100; i++) { sb.append(text(i)); String s = sb.tostring(); PSWT November 2006 p.9/41

13 StringBuilder String s = ""; for (int i=0; i<100; i++) { s = s + text(i); // 100 neue String Objekte! Besser: Objekt mit StringBuilder bauen, dann String lesen. StringBuilder sb = new StringBuilder(); for (int i=0; i<100; i++) { sb.append(text(i)); String s = sb.tostring(); Viele Methoden geben this zurück: sb.append("text Nr.").append(i).append(" ist ").append(text(i)); PSWT November 2006 p.9/41

14 java.lang.math Mathematische Standardfunktionen (Siehe JavaDocs) PSWT November 2006 p.10/41

15 java.math Package java.math enthält Klassen BigInteger BigDecimal für Arithmetik mit beliebiger Genauigkeit: BigInteger ist beliebig lange ganze Zahl BigDecimal ist skalierte Zahl m 10 n für int n, variable Genauigkeit PSWT November 2006 p.11/41

16 Die I/O Klassen 2 Familien von I/O Kanälen: InputStream und OutputStream für Folgen von Bytes. Reader und Writer für Text = Folgen von Characters Zusammenhang über java.nio.charset.charset: ein Name, "US-ASCII", "UTF-8", "ISO ", etc. eine Abb. Folgen von 16-bit char Folgen von bytes PSWT November 2006 p.12/41

17 InputStream Klassen InputStream System.in ByteArrayInputStream FilterInputStream FileInputStream... BufferedInputStream InflaterInputStream CipherInputStream DataInputStream... PSWT November 2006 p.13/41

18 OutputStream Klassen OutputStream ByteArrayIOutputStream FilterInputStream FileOutputStream... BufferedOutputStream DeflaterOutputStream PrintStream CipherOutputStream DataOutputStream... System.out, System.err PSWT November 2006 p.14/41

19 Reader Klassen Reader StringReader BufferedReader... CharArrayReader InputStreamReader FilterReader FileReader PSWT November 2006 p.15/41

20 Writer Klassen Writer StringWriter BufferedWriter PrintWriter... CharArrayWriter OutputStreamWriter FilterWriter FileWriter PSWT November 2006 p.16/41

21 Ausgabe leicht gemacht Text auf stdout ausgeben: System.out.println(...); Text in Datei schreiben: PrintWriter pw = new PrintWriter("blabla.txt"); pw.println(...); pw.close(); Binärdaten in Datei schreiben: FileOutputStream fos = new FileOutputString("data.bin"); DataOutputStream dos = new DataOutputStream(fos); dos.writeint(23); dos.writedouble(12.3); dos.close(); PSWT November 2006 p.17/41

22 Eingabe leicht gemacht Text zeilenweise von stdio lesen: InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String line = br.readline(); Text zeilenweise aus Datei lesen: FileReader fr = new FileReader("blabla.txt"); BufferedReader br = new BufferedReader(fr); String line = br.readline(); if (line == null) {...end of file... br.close(); Binärdaten aus Datei lesen: FileInputStream fis = new FileInputString("data.bin"); DataInputStream dis = new DataInputStream(fis); int i = dis.readint(); double d = dis.readdouble(); PSWT November 2006 p.18/41 dis.close();

23 Generische Typen Interface Stack bisher: interface Stack { void push(string s); String pop(); boolean isempty(); nur für String Objekte PSWT November 2006 p.19/41

24 Generische Typen Interface Stack für Objekte: interface Stack { void push(object s); Object pop(); boolean isempty(); PSWT November 2006 p.19/41

25 Generische Typen Interface Stack für Objekte: interface Stack { void push(object s); Object pop(); boolean isempty(); Anwendendung mit Strings: Stack stringstack = new ArrayStack(); stringstack.push("hallo");... String s = (String)(stringStack.pop()); lästig und fehleranfällig PSWT November 2006 p.19/41

26 Generische Typen Generisches Interface Stack: interface Stack<E> { void push(e s); E pop(); boolean isempty(); PSWT November 2006 p.19/41

27 Generische Typen Generisches Interface Stack: interface Stack<E> { void push(e s); E pop(); boolean isempty(); Anwendendung mit Strings: Stack<String> stringstack = new ArrayStack<String>(); stringstack.push("hallo");... String s = stringstack.pop(); PSWT November 2006 p.19/41

28 Generische Typen Generisches Interface Stack: interface Stack<E> { void push(e s); E pop(); boolean isempty(); Anwendendung mit ints: Stack<Integer> intstack = new ArrayStack<Integer>(); intstack.push(23); // auto-boxing... int i = intstack.pop(); // auto-unboxing PSWT November 2006 p.19/41

29 Generische Typen Generisches Interface Stack: interface Stack<E> { void push(e s); E pop(); boolean isempty(); Anwendendung mit ints: Stack<Integer> intstack = new ArrayStack<Integer>(); intstack.push(23); // auto-boxing... int i = intstack.pop(); // auto-unboxing Im Java Tutorial vertiefen! PSWT November 2006 p.19/41

30 Implementierung von Generischen Typen Typ-Parameter nur beim Compilieren bekannt interface Stack<E> { interface Stack { push(e o); push(object o); E pop(); Object pop(); Daher Einschränkungen: Keine Konstruktoren oder statischen Methoden auf E oder E[] o instanceof E, o instanceof Stack<String>, etc. nicht erlaubt Casts (E) und (E[]) ohne Laufzeitcheck (aber unchecked Warnung vom Compiler) PSWT November 2006 p.20/41

31 Beispiel für unchecked Cast public class ArrayStack<E> { E[] elements; int top = 0; ArrayStack(int initialsize) { elements = new T[initialSize]; Compilerfehler: generic array creation PSWT November 2006 p.21/41

32 Beispiel für unchecked Cast public class ArrayStack<E> { E[] elements; int top = 0; ArrayStack(int initialsize) { elements = new Object[initialSize]; Compilerfehler: incompatible types found : java.lang.object[] required: E[] PSWT November 2006 p.21/41

33 Beispiel für unchecked Cast public class ArrayStack<E> { E[] elements; int top = 0; ArrayStack(int initialsize) { elements = (E[]) new Object[initialSize]; Compilerwarnung: Note: stack/arraystack.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. PSWT November 2006 p.21/41

34 Beispiel für unchecked Cast public class ArrayStack<E> { E[] elements; int top = 0; ArrayStack(int initialsize) { elements = (E[]) new Object[initialSize]; Compilerwarnung mit -Xlint:unchecked: stack/arraystack.java:6: warning: [unchecked] unchecked cast found : java.lang.object[] required: E[] PSWT November 2006 p.21/41

35 Das Collection Framework Standardinterfaces und Implementierungen für Listen von Objekten: java.util.list<e> Mengen von Objekten: java.util.set<e> Abbildungen von Objekten: java.util.map<k,v> Verwendung von Interfaces und abstrakten Klassen wie Stack! PSWT November 2006 p.22/41

36 Map Klassen Map AbstractMap SortedMap HashMap TreeMap PSWT November 2006 p.23/41

37 Verwendung von Map Map<Integer,String> namen = new HashMap<Integer,String>(); namen.put( ,"ghitescu Antonia Luisa"); namen.put( ,"wiesinger Robert"); namen.put( ,"punzengruber Christian"); String n = namen.get( ); if (namen.containskey( )) {... if (namen.containsvalue("meindl Diana")) {... Eigene Klassen als Schlüssel verwenden: equals und hashcode implementieren PSWT November 2006 p.24/41

38 Collection Klassen Collection AbstractCollection List Set AbstractList AbstractSet SortedSet ArrayList LinkedList HashSet TreeSet PSWT November 2006 p.25/41

39 Utility Klassen java.util.arrays Arrays mit Werten füllen Arrays sortieren In sortierten Arrays suchen java.util.collections Listen sortieren Suchen in Listen Maximales Element in Collection suchen... PSWT November 2006 p.26/41

40 Comparable Um Objekte sortieren zu können: Interface java.lang.comparable<t> implementieren mit Methode int compareto(t o) < 0 falls this < o 0 falls this = o > 0 falls this > o Am besten 0 gdw this.equals(o) Legt natürliche Ordnung von Objekten fest. PSWT November 2006 p.27/41

41 Beispiel Comparable Punkte nach x, dann y Koordinate sortieren public class Point implements Comparable<Point> { private int x; private int y; public int compareto(point other) { if( this.x == other.x ) { return this.y - other.y; else { return this.x - other.x; Point[] points = new Point[20]; java.util.arrays.sort(points); PSWT November 2006 p.28/41

42 Iteratoren Schleifen über alle Elemente einer Collection: mit Iterator interface Iterator<E> { boolean hasnext(); E next(); List<Point> l;... Iterator<Point> it = l.iterator(); while (it.hasnext()) { Point p = it.next(); p.move(1,0); PSWT November 2006 p.29/41

43 Iterator Reihenfolge Reihenfolge Bei List von vorne nach hinten Bei Set nicht spezifiziert Bei SortedSet vom kleinsten zum größten gemäß compareto() PSWT November 2006 p.30/41

44 Das foreach Statement Iterator sehr häufig: neues Sprachkonstrukt List<Point> l; for(point p : l) { p.move(1,0); Geht für alle Collections, und auch für Arrays. PSWT November 2006 p.31/41

45 Beispiel: Argumente sortieren Wörter von der Kommandozeile ohne Duplikate sortiert ausgeben. public static void main(string[] args) { SortedSet<String> words = new TreeSet<String>(); for (String s : args) { words.add(s); for (String s : words) { System.out.println(s); PSWT November 2006 p.32/41

46 Effective Java Sehr gutes Buch zu den Feinheiten von Java: Joshua Bloch, Effective Java TM Programming Language Guide, Addison Wesley, 2001 PSWT November 2006 p.33/41

47 Aufgabe 10 Vertiefen und Ergänzen des Stoffs durch Lesen in verschiedenen Tutorials: Learning the Java Language: Numbers and Strings Essential Java Classes: Basic I/O Collections PSWT November 2006 p.34/41

48 Aufgabe 11 Ein Programm, das eine Zahl n von der Kommandozeile liest die Zahl e = ! + 1 3! + mit n Stellen Genauigkeit berechnet und ausgibt dazu die Klassen in java.math benutzt > Java E PSWT November 2006 p.35/41

49 Aufgabe 12 Ein Programm, das sukzessive Primzahlen berechnet. Eingabe: Zahl n Ausgabe: Alle Primzahlen unter n Algorithmus: P := { Für i := 2,..., n { Falls kein j P Teiler von i ist, setze P := P {i P ist das Resultat PSWT November 2006 p.36/41

50 Aufgabe 13 Ein Programm, das eine Textdatei zeilenweise einliest Entweder von System.in Oder aus einer Datei die auf der Kommandozeile genannt wird Jede Zeile in Wörter (Folgen von Buchstaben) zerlegt Character.isLetter(char c) Eine Tabelle ausgibt wie oft jedes Wort vorgekommen ist nach absteigender Häufigkeit sortiert. Dabei sollen alle Hashtabellen, sowie Sortieren, etc. von Standardklassen erledigt werden! PSWT November 2006 p.37/41

51 Aufgabe 13 (Beispiel) > cat test.txt fünf fünf vier fünf vier drei fünf vier drei zwei! +fünf, vier drei zwei eins > java WordCount test.txt fünf 5 vier 4 drei 3 zwei 2 eins 1 PSWT November 2006 p.38/41

52 Aufgabe 14 Betrachte folgende Klasse... public class Point { private int x,y;... public boolean equals(object o) { if (o instanceof Point) { Point p = (Point)o; return (x == p.x) && (y == p.y); else { return false; PSWT November 2006 p.39/41

53 Aufgabe 14 (forts.)... und folgende: public class WeightedPoint extends Point { private int w;... public boolean equals(object o) { if (o instanceof WeightedPoint) { WeightedPoint wp = (WeightedPoint)o; return super.equals(wp) && (w == wp.w); else { return false; Inwiefern wird der Vertrag von equals gebrochen? Was könnte man dagegen tun? PSWT November 2006 p.40/41

54 Aufgabe 15 Eine Erweiterung des Stack Frameworks aus Aufgabe 9: Statt nur Strings zu stapeln, einen Parameter einführen: public interface Stack<E> { void push(e o); E pop();... Eine zusätzliche Implementierung LinkedListStack<E> die eine java.util.linkedlist benutzt. Alle Implementierungen sollen equals und hashcode unterstützen. (Alle Objekte auf Stapel equals? Für hashcode siehe java.util.list) PSWT November 2006 p.41/41

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

Praktische Softwaretechnologie Vorlesung 4

Praktische Softwaretechnologie Vorlesung 4 Praktische Softwaretechnologie Vorlesung 4 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 31. Oktober 2006 p.1/28 Die Klasse

Mehr

Praktische Softwaretechnologie Vorlesung 3

Praktische Softwaretechnologie Vorlesung 3 Praktische Softwaretechnologie Vorlesung 3 Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 24. Oktober 2006 p.1/26 Klassendefinition

Mehr

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 12 Java API Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung 25.01.2007 Wintersemester 2006/2007 Computerlinguistik, Campus DU Überblick Seite 2 Datenströme: Ein und Ausgabe von Daten Java Collections Framework Eingabe/Ausgabe Seite 3 Lesen, Schreiben

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 15 Java API Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT FÜR INFORMATIK

Mehr

Nützliche Utility-Klassen des JDK

Nützliche Utility-Klassen des JDK Nützliche Utility-Klassen des JDK java.util :, Properties, I18N, Scanner java.text : Ausgabeformatierung u.a. java.util.prefs : Hierarchische Konfigurationsdaten (1.5) java.util.logging : Aufzeichnung

Mehr

Abstrakte Datentypen und Java

Abstrakte Datentypen und Java Abstrakte Datentypen und Java ƒ hehueolfn ƒ 5HDOLVLHUXQJYRQ$'7 NRQNUHWH'DWHQW\SHQ %HLVSLHO5DWLRQDOH=DKO ƒ 3DUDPHWULVLHUWH'DWHQW\SHQ %HLVSLHO)HOG6RUWLHUWHV)HOG ƒ 6FKQLWWVWHOOHQNRQ]HSW ƒ :LFKWLJH'DWHQW\SHQLQ-DYD

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr

Teil V. Generics und Kollektionen in Java

Teil V. Generics und Kollektionen in Java Teil V Generics und Überblick 1 Parametrisierbare Datenstrukturen in Java 2 Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 5 1 Parametrisierbare Datenstrukturen in Java Motivation für

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Java I/O Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

Objektorientierte Implementierung

Objektorientierte Implementierung Objektorientierte Implementierung 10) Verfeinern von Assoziationen mit dem Java-2 Collection Framework Softwaretechnologie, Prof. Uwe Aßmann, Prof. Heinrich Hussmann 1 Objektorientierte Implementierung

Mehr

II.4.4 Exceptions - 1 -

II.4.4 Exceptions - 1 - n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen

Mehr

Datenströme in Java. Zeichenkonvertierung

Datenströme in Java. Zeichenkonvertierung Datenströme in Java Arten von Strömen Ein- und Ausgabeoperationen sind in Java im Wesentlichen über Datenströme realisiert. Dabei werden zwei Arten von Datenströmen unterschieden; byteorientierte Ströme

Mehr

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus

Java I/O. Input / Output stream Library Regelt I/O über verschiedene Kanäle. Führt notwendige Umwandlungen/Konvertierungen aus Java I/O Input / Output stream Library Regelt I/O über verschiedene Kanäle Filesystem Console Netzwerk Intern Führt notwendige Umwandlungen/Konvertierungen aus 1 Furchtbar viele Klassen BufferedInputStream

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (2/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Listen Bisher: Collections

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Überblick Parametrisierte Datentypen mit Java Generics Java Collections Framework Parametrisierte

Mehr

1. Betrachte das folgende Programm:

1. Betrachte das folgende Programm: Prof. Dr. Detlef Krömker Ashraf Abu Baker Robert-Mayer-Str. 10 60054 Frankfurt am Main Tel.: +49 (0)69798-24600 Fax: +49 (0)69798-24603 EMail: baker@gdv.cs.uni-frankfurt.de 1. Betrachte das folgende Programm:

Mehr

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer Java Kurs Objektorientierung II & die Java Klassenbibliothek Kristian Bergmann und Arthur Lochstampfer Vergleich class Apfel { String farbe; int gewicht; String geerntetin; class Erdbeere { String farbe;

Mehr

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme

Vorlesung Programmieren. Java I/O: Input und Output mit Java. Ein-/Ausgabe von Daten. Java I/O. Heute. Grundlage fast aller Programme Vorlesung Programmieren Java I/O Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Java I/O: Input und Output mit Java Heute Ein-/Ausgabe

Mehr

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI

Streams. V by WBR1&MOU2/BFH-TI. Berner Fachhochschule Hochschule für Technik und Informatik HTI Ein- Ausgabe Streams Unterlagen zum Modul "OOP mit Java" V 3.0 2011 by WBR1&MOU2/BFH-TI Ein- Ausgabe, Streams V3.0 2011 by WBR1&MOU2/BFH-TI Definition: Berner Fachhochschule Streams Ein Stream ist eine

Mehr

Objektorientierte Programmierung. Kapitel 19: Wrapper-Klassen

Objektorientierte Programmierung. Kapitel 19: Wrapper-Klassen 19. Wrapper-Klassen 1/27 Objektorientierte Programmierung Kapitel 19: Wrapper-Klassen Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/

Mehr

Programmiertechnik II

Programmiertechnik II Datentypen in Java Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen: float,

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Collections Thomas Mauermeier 15.01.2019 Ludwig-Maximilians-Universität München Collections? Was ist eine Collection? Container für mehrere Objekte

Mehr

II.4.6 Collections - 1 -

II.4.6 Collections - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.6 Collections - 1 - Typische Datenstrukturen

Mehr

Java Fehlerbehandlung

Java Fehlerbehandlung Java Fehlerbehandlung 1 Fehlerbehandlung In jedem nicht-trivialen Programm kann es während der Laufzeit zu Fehlersituationen kommen. Dabei handelt es sich nicht unbedingt um Programmierfehler: z. B.: Programm

Mehr

17. Java Collections. Daten Organisieren. Generische Liste in Java: java.util.list. Typ Parameter (,,Parametrischer Polymorphisums )

17. Java Collections. Daten Organisieren. Generische Liste in Java: java.util.list. Typ Parameter (,,Parametrischer Polymorphisums ) Daten Organisieren Datenstrukturen, die wir kennen 17 Java Collections Generische Typen, Interfaces, Java Collections, Iteratoren Heute: Arrays Sequenzen fixer Grösse Strings Buchstabensequenzen Verkettete

Mehr

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 1 Einleitung Collections sind Datenstrukturen für Sammlungen von Daten Stacks Queues Priority

Mehr

Programmiertechnik II

Programmiertechnik II Programmiertechnik II Datentypen Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen:

Mehr

OCP Java SE 8. Collections

OCP Java SE 8. Collections OCP Java SE 8 Collections Collections (Interfaces) Iterable Collection Set List Queue SortedSet Deque Collection List erlaubt Duplikate und null behält die Reihenfolge Set erlaubt keine Duplikate Queue

Mehr

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation java.io Ziel Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Ressourcen Java Tutorial Java API Dokumentation Page 1 Java API Prinzip Java IO-API ist für eine allgemeine

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Abstrakte Datentypen Stack und Queue zu implementieren und anzuwenden Vorteile von parametrischer Polymorphie

Mehr

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 313

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 313 Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics

Mehr

Schein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock.

Schein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock. Schein-/Bachelorklausur Teil 2 am 13.02.2007 Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock. Alle Studiengänge außer Bachelor melden sich über die Lehrstuhlwebseite

Mehr

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1 IT I: Heute Klasse Object equals, hashcode, tostring HashSet 14.11.2017 IT I - VO 6 1 Wissensüberprüfung Wie ruft man statische Methode auf? Gegeben Klasse Fix mit statischer Methode static boolean foxi(string

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 27. Januar 2016 Lesen und Schreiben von Zeichen Reader read(); close();

Mehr

Softwaretechnik WS 16/17. Übungsblatt 01

Softwaretechnik WS 16/17. Übungsblatt 01 Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and

Mehr

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck

Mehr

Programmiertechnik II

Programmiertechnik II Datentypen in Java Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen: float,

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

4. Vererbung Die Klasse Object. Die Klasse Object

4. Vererbung Die Klasse Object. Die Klasse Object 4. Vererbung Die Klasse Object Die Klasse Object Alle Klassen ohne explizit deklarierte Superklasse haben die Klasse Object als Superklasse. Object gehört zum Paket java.lang. Object verfügt über einige

Mehr

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 6. Juli 2018 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 27. August

Mehr

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

Streams. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 4.7.07 G. Bohlender (IANM UNI Karlsruhe) Streams 4.7.07 1 / 7 Übersicht 1 Einführung

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Abstrakte Klassen, Schnittstellen und ADT Prof. Dr. Margarita Esponda SS 2012 1 Interfaces In Java sind Interfaces sowohl ein Abstraktionsmittel (zum Verbergen von Details

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 4 ArrayList, PriorityQueue, HashSet und HashMap

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 4 ArrayList, PriorityQueue, HashSet und HashMap Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 4 ArrayList, PriorityQueue, HashSet und HashMap Array List Dynamisches Array ArrayList vertritt ein Array mit variabler Länge Kapazität passt sich automatisch

Mehr

Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework

Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl

Mehr

Kapitel 5: Interfaces

Kapitel 5: Interfaces Liste P: Programmieren mit Java WS 2001/2002 Prof. Dr. V. Turau FH Wiesbaden Kapitel 5: Interfaces Folie 82 : Einleitung Betrachtet man die Programmierleistung für ein Produkt über einen längeren Zeitraum,

Mehr

Interfaces und Generics

Interfaces und Generics Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Interfaces und Generics Jan-Henrik Haunert Lehrstuhl für Informatik I Übersicht Liste und InsertionSort für Punkte für Objekte beliebiger

Mehr

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Datentypen und Datenstrukturen Selbst definierte Datenstrukturen Innere Klassen Seite 1 Typen: 1. Kasper 2. Prinzessin 3. Großmutter

Mehr

1 Polymorphie (Vielgestaltigkeit)

1 Polymorphie (Vielgestaltigkeit) 1 Polymorphie (Vielgestaltigkeit) Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte, andere Arten von Zahlen oder andere Objekttypen

Mehr

Teil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II

Teil 2-3. Vorlesung. Modul: Programmierung B-PRG Grundlagen der Programmierung II Teil 2-3. Vorlesung Modul: Programmierung B-PRG Professur für Datenbanken und Informationssysteme Dr. Karsten Tolle tolle@dbis.cs.uni-frankfurt.de 1 Wrapper-Klassen Alle primitive Datentypen haben eine

Mehr

Ein- und Ausgabe. Algorithmen und Datenstrukturen II 1

Ein- und Ausgabe. Algorithmen und Datenstrukturen II 1 Ein- und Ausgabe Algorithmen und Datenstrukturen II 1 In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println

Mehr

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;

Mehr

Algorithmen und Programmierung III

Algorithmen und Programmierung III Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer

Mehr

Die abstrakte Klasse Expression:

Die abstrakte Klasse Expression: Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const 501 Die abstrakte Klasse Expression: Expression abstract evaluate() Add Neg Const Leider (zum Glück?) lässt sich nicht die

Mehr

Arten von Streams. Daten. Bytes (8-Bits) Java Programm. Daten. Java Programm. Characters (16 - Bits)

Arten von Streams. Daten. Bytes (8-Bits) Java Programm. Daten. Java Programm. Characters (16 - Bits) Datenströme Arten von Streams Daten 0 1 1 0 1 0 1 0 Java Programm Bytes (8-Bits) Daten 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 Java Programm Characters (16 - Bits) Byteströme(InputStream/OutputStream) I Java Programm

Mehr

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite

Mehr

Info B VL 7: Input/Output

Info B VL 7: Input/Output Info B VL 7: Input/Output Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 7: Input/Output p.174 Exkurs:

Mehr

Idee: 14.2 Generische Klassen

Idee: 14.2 Generische Klassen 14.2 Generische Klassen Idee: Seit Version 1.5 verfügt Java über generische Klassen... Anstatt das Attribut info als Object zu deklarieren, geben wir der Klasse einen Typ-Parameter T für info mit!!! Bei

Mehr

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August

Mehr

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 338

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 338 Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Java Generics und Java API Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Programme verarbeiten Daten Häufig

Mehr

Kapitel 14. Das Java Collection Interface. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 14. Das Java Collection Interface. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 14 Das Java Collection Interface 14. Das Java Collection Interface 1. Collections 2. Iteratoren (Iterators) 3. Listen (List) 4. Mengen (Set) 5. Hashtabellen (Map) 6. Generics Folie 14.2 Das Java

Mehr

Einführung in Java, Teil 7

Einführung in Java, Teil 7 Einführung in Java, Teil 7 (a) Weitere grundlegende Konzepte, und (b) Applikationen Vorlesung Informatik I, 8 & 13.12.2005, Daniel Huson Grundtypen und ihre Wrapper - Klassen Die Grunddatentypen in Java

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Wiederholung

Johannes Unterstein - TINF16 - Java - Sommersemester 2017 JAVA. Wiederholung JAVA Wiederholung 137 WIEDERHOLUNG ALLGEMEIN public static void main(string args[]) {...} Namenskonventionen: KlassenNamen beginnen mit Großbuchstaben Variablen- und Methoden-Namen mit kleinem Buchstaben

Mehr

Kapitel 5: Iterierbare Container

Kapitel 5: Iterierbare Container Kapitel 5: Iterierbare Container Foreach-Schleife Interface Iterator Interface Iterable Iterator-Schleife und Foreach-Schleife Generische Liste mit Iteratoren Prof. Dr. O. Bittel, HTWG Konstanz Programmiertechnik

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

1. Welches Interface ist nicht von Collection abgeleitet? A. B. C. D. List Set Map SortedSet. 2. Welche Aussagen sind richtig?

1. Welches Interface ist nicht von Collection abgeleitet? A. B. C. D. List Set Map SortedSet. 2. Welche Aussagen sind richtig? Prof. Dr. Detlef Krömker Ashraf Abu Baker Robert-Mayer-Str. 10 60054 Frankfurt am Main Tel.: +49 (0)69798-24600 Fax: +49 (0)69798-24603 EMail: baker@gdv.cs.uni-frankfurt.de 1. Welches Interface ist nicht

Mehr

19 Collections Framework

19 Collections Framework Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.

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

Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen?

Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen? Problem 2: Wie schreibt bzw. wie liest man die beiden unterschiedlichen Darstellungen? Dazu stellt Java im Paket Ú º Ó eine Vielzahl von Klassen zur Verfügung... 15.1 Byteweise Ein- und Ausgabe Zuerst

Mehr

Übungsstunde 9. Einführung in die Programmierung I

Übungsstunde 9. Einführung in die Programmierung I Übungsstunde 9 Einführung in die Programmierung I Probleme bei Übung 8 [TODO Assistent] Nachbesprechung Übung 9 Aufgabe 1 Spieler Spieler[] spieler = { new ZufallsWortSpieler(), new ZufallsWortSpielerMitGedaechtnis(),

Mehr

Kapitel 6: Java Collection Teil I

Kapitel 6: Java Collection Teil I Kapitel 6: Java Collection Teil I Übersicht Bemerkungen Collection List LinkedList und ArrayList Queue und Deque ArrayDeque 6-1 In diesem Kapitel Die Java-API enthält eine Sammlung von generischen Schnittstellen

Mehr

13 Polymorphie. Problem:

13 Polymorphie. Problem: 13 Polymorphie Problem: Unsere Datenstrukturen List, Stack und Queue können einzig und allein int-werte aufnehmen. Wollen wir String-Objekte oder andere Arten von Zahlen ablegen, müssen wir die jeweilige

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

Einheitliches Typsystem

Einheitliches Typsystem Typen 1 Einheitliches Typsystem Typen Werttypen Referenztypen Zeiger Einfache Typen Enums Structs Klassen Interfaces Arrays Delegates bool char sbyte short int long byte ushort uint ulong float double

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Streams Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Ein-Ausgabe 2 Klassenhierarchie (Byteorientiert) 3 Klassenhierarchie

Mehr

Java Spickzettel von Panjutorials.de

Java Spickzettel von Panjutorials.de Java Spickzettel von Panjutorials.de Hallo Welt public class HalloWelt public static void main(string[] args) // Gibt "Hallo Welt" auf die Konsole aus System.out.print("Hallo Welt"); Eine eigenständige

Mehr

Schnittstellen, Stack und Queue

Schnittstellen, Stack und Queue Schnittstellen, Stack und Queue Schnittstelle Stack Realisierungen des Stacks Anwendungen von Stacks Schnittstelle Queue Realisierungen der Queue Anwendungen von Queues Hinweise zum Üben Anmerkung: In

Mehr

Welcome to java. einfach objektorientiert verteilt interpretierend robust secure architekturneutral portabel schnell parallel(multitheded)

Welcome to java. einfach objektorientiert verteilt interpretierend robust secure architekturneutral portabel schnell parallel(multitheded) Welcome to java einfach objektorientiert verteilt interpretierend robust secure architekturneutral portabel schnell parallel(multitheded) 1 Vielfalt von Java-Anwendungen Android App App Java Java JavaBeans

Mehr

Objektorientierung III

Objektorientierung III Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 10 9.1.2017 Objektorientierung III Aufgabe 10.1. Wir sind doch alle gleich In der Vorlesung

Mehr

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem!

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem! Grundlagen der Programmierung Dr. Christian Herzog Technische Universität München Wintersemester 2014/2015 Ziele dieses Kapitels Sie verstehen das Konzept der Ströme Sie können Klassen wie Reader, Writer,

Mehr

JAVA KURS COLLECTION

JAVA KURS COLLECTION JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)

Mehr

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen 20. Wrapper-Klassen 1/27 Objektorientierte Programmierung Kapitel 20: Wrapper-Klassen Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2013/14 http://www.informatik.uni-halle.de/

Mehr

Tagesprogramm

Tagesprogramm 1 2015-12-14 Tagesprogramm Methoden von Object tostring instanceof, class, getclass und Cast equals und hashcode 2 2015-12-14 Methoden von Object Object java.lang.object ist die oberste Oberklasse aller

Mehr

Objektorientierte Programmierung. Kapitel 20: Wrapper-Klassen

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

Mehr

Algorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte

Algorithmen und Datenstrukturen. Übersicht. Interfaces und Generics. InsertionSort für Punkte. InsertionSort für Punkte Algorithmen und Datenstrukturen Wintersemester 2012/13 21. Vorlesung Übersicht Liste und InsertionSort für e für Objekte beliebiger Klassen für Objekte von Klassen, die ein(e) Nutzer(in) festlegen kann

Mehr

19 Collections Framework

19 Collections Framework Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.

Mehr