Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams

Größe: px
Ab Seite anzeigen:

Download "Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams"

Transkript

1 Kapitel 12 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln WS 07/08 Dateiein- und -ausgabe Byte-Streams versus Character-Streams Die abstrakte Klasse Writer FileWriter StringWriter und CharArrayWriter BufferedWriter PrintWriter Die abstrakte Klasse Reader FileReader StringReader und CharArrayReader BufferedReader Datei- und Verzeichnis-Handling 1/ 43 2/ 43 Allgemeine Konzepte Es gibt eine umfangreiche Bibliothek zum Zugriff auf Dateien und zur Verwaltung von Verzeichnissen. Die Klassen realisieren dabei das Konzept der Streams mit Hilfe objektorientierter Techniken. Die Klassen können vom Anwender erweitert werden Alle Klassen zur Dateiein-und -ausgabe befinden sich im Paket java.io. Um sie zu verwenden, muss am Anfang eines Programms import java.io.* aufgerufen werden 12.1 Byte-Streams versus Character-Streams 3/ 43 4/ 43

2 Byte-Streams versus Character-Streams Character-Streams Bis zur Version 1.0 des JDK gab es nur Byte-Streams Wesentliches Merkmal von Byte-Streams: Es wurden 8 Bit zur Speicherung eines Zeichens verwendet Java verwendet aber sonst 16 Bit lange Unicode-Zeichen Wesentliches Merkmal von Charakter-Streams: Es werden 16 Bit lange Unicode-Zeichen verwendet. Dadurch wesentlich besser Kompatibilität zu String- und anderen Zeichentypen Es gibt Klassen, die Character-Streams in Byte-Streams überführen und umgekehrt Wir beschäftigen uns ausschließlich mit Character-Streams Eine Klasse für den lesenden Zugriff wird als Reader bezeichnet Eine Klasse für den schreibenden Zugriff wird als Writer bezeichnet 5/ 43 6/ 43 Die abstrakte Klasse Writer Konstruktor (öffnet Ausgabestrom): protected Writer() Schließen des Ausgabestroms: 12.2 Die abstrakte Klasse Writer public void close() throws IOException Ein Zeichen schreiben: public void write(int c) throws IOException Mehrere Zeichen schreiben: public void write(char cbuf[]) throws IOException Ein String schreiben: 7/ 43 public void write(string s) throws IOException 8/ 43

3 Abgeleitete Klassen FileWriter Zusätzliche Methoden der Klasse FileWriter: Es kann kein Objekt der abstraken Klasse Writer erstellt werden. Die abgeleiteten Klassen stellen eine Verbindung zu einem konkreten Ausgabegerät her und implementieren die Methoden der Klasse Writer: FileWriter: Ausgabe in eine Datei StringWriter: Writer zur Ausgabe in einen String CharArrayWriter: Writer zur Ausgabe in ein Zeichen-Array BufferedWriter: Writer zur Ausgabepufferung PrintWriter: Ausgabe aller Basistypen im Textformat public FileWriter(String filename) throws IOException public FileWriter(String filename, boolean append) throws IOException public FileWriter(File file) throws IOException Falls filename eine bereits vorhandene Datei bezeichnet, wird sie geöffnet und gelöscht. Andernfalls wird eine Datei dieses Namens angelegt und geöffnet. Wird der Parameter append mit dem Wert true übergeben, so wird die Datei nicht gelöscht. Im Abschnitt gehen wir auf die Klasse File ein 9/ 43 10/ 43 FileWriter import java.io.*; public class MyFileWriter public static void main(string[] args) FileWriter f1; try f1 = new FileWriter( hallo.txt, true); f1.write( hello\n ); f1.close(); catch(ioexception e) StringWriter und CharArrayWriter Im Gegensatz Klasse FileWriter schreiben StringWriter und CharArrayWriter ihre Ausgabe nicht in eine Datei, sondern in ein StringBuffer bzw. Character-Array: System.out.println( Fehler beim Erstellen der Datei ); 11/ 43 12/ 43

4 StringWriter Der Konstruktor legt einen StringBuffer an: public StringWriter() Zugriff auf den Inhalt des Puffers: public StringBuffer getbuffer() public String tostring() StringWriter import java.io.*; public class MyStringWriter public static void main(string[] args) String hello; StringWriter s1; try s1 = new StringWriter(); s1.write( Hello Java! ); hello = s1.tostring(); s1.close(); System.out.println(hello); catch(ioexception e) 13/ 43 System.out.println( Fehler beim Erstellen der Datei ); 14/ 43 CharArrayWriter CharArrayWriter Der Konstruktor legt einen Character-Array an, das dynamisch wachsen kann: public CharArrayWriter() Zugriff auf den Inhalt des Puffers: public char[] tochararray() public String tostring() Übergabe an einen Writer: Leeren des Puffers: public void reset() Größe des Puffers: public int size() public void writeto(writer out) throws IOException 15/ 43 16/ 43

5 BufferedWriter BufferdWriter Die Klasse BufferedWriter hat die Aufgabe, Stream-Ausgaben zu puffern. Dazu hat sie einen internen Puffer, in dem die Ausgaben von write zwischengespeichert werden Wenn der Puffer voll ist oder die Methode flush aufgerufen wird, werden alle gepufferten Ausgaben in den echten Stream geschrieben. Das Puffern ist sinnvoll, wenn die Ausgabe in eine Datei geschrieben wird. Es reduziert sich die Anzahl der Zugriffe auf das externe Gerät. Die Performance wird erhöht. An den Konstruktor wird ein externer Writer übergeben, an den die gepufferten Ausgaben weitergereicht werden: public BufferedWriter(Write out) Zeilenschaltung: public void newline() 17/ 43 18/ 43 BufferdWriter BufferdWriter import java.io.*; public class MyBufferedWriter public static void main(string[] args) Writer f1; BufferedWriter f2; String s; try... catch(ioexception e)... 19/ 43 Writer f1; BufferedWriter f2; String s; try f1 = new FileWriter( buffer.txt ); f2 = new BufferedWriter(f1); for(int i=1; i<=10000;++i) s = Dies ist die + i +. Zeile\n ; f2.write(s); f2.close(); f1.close(); catch(ioexception e) System.out.println( Fehler beim Erstellen der Datei ); 20/ 43

6 PrintWriter PrintWriter An den Konstruktor wird ein externer Writer übergeben, auf den die Ausgaben umgeleitet wird: Die Klasse PrintWriter hat die Aufgabe, primitive Datentypen in textueller Form auszugeben public PrintWriter(Writer out) Die Ausgabe von primitiven Datentypen wird durch eine Reihe von Methoden mit dem Namen print bzw. println realisiert: public void print(boolean b) public void print(int i)... 21/ 43 22/ 43 PrintWriter import java.io.*; public class MyPrintWriter public static void main(string[] args) PrintWriter f; int antwort = 42; try f = new PrintWriter(new BufferedWriter( new FileWriter( test.txt ))); f.print( Die Antwort ist: ); f.print(antwort); f.close(); catch(ioexception e) 12.7 Die abstrakte Klasse Reader System.out.println( Fehler beim Erstellen der Datei ); 23/ 43 24/ 43

7 Die abstrakte Klasse Reader Die abstrakte Klasse Reader Konstruktor (öffnet Ausgabestrom): public Reader() Schließen des Ausgabestroms: public void close() Ein Zeichen lesen, das als int zurück gegeben wird: public int read() Mehrere Zeichen in Variable cbuf[] einlesen und Anzahl der gelesenen Zeichen zurück geben: ready liefert true, falls der nächste Aufruf von read erfolgreich sein wird: public boolean ready() Eine Anzahl von Zeichen im Lesestrom überspringen (Dabei kann es vorkommen, dass aus verschiedenen Gründen nicht exakt die angegebene Anzahl übersprungen werden kann Der Rückgabewert gibt die tatsächliche Anzahl an): public long skip(long n) public int read(char cbuf[]) 25/ 43 26/ 43 Abgeleitete Klassen Es kann kein Objekt der abstraken Klasse Reader erstellt werden. Die abgeleiteten Klassen stellen eine Verbindung zu einem konkreten Einlesegerät her und implementieren die Methoden der Klasse Reader: FileReader: Einlesen aus einer Datei StringReader: Reader zum Einlesen von Zeichen aus einem String CharArrayReader: Reader zum Einlesen von Zeichen aus einem Character-Array BufferedReader: Reader zur Eingabepufferung und zum Lesen von kompletten Zeilen LineNumberReader: Ableitung aus BufferedReader mit der Fähigkeit Zeilen zu zählen FileReader Öffnen einer Datei: public FileReader(String filename) throws FileNotFoundException public FileReader(File file) throws FileNotFoundException 27/ 43 28/ 43

8 StringReader und CharArrayReader StringWriter und CharArrayReader Im Gegensatz Klasse FileReader lesen StringReader und CharArrayReader aus einem String bzw. Character-Array: Der Konstruktoren: public StringReader(String s) public CharArrayReader(char buf[]) 29/ 43 30/ 43 BufferedReader BufferdReader Die Klasse BufferedReader hat die Aufgabe, Stream-Eingaben zu puffern. Dazu hat sie einen internen Puffer, in dem die Eingabe von read zwischengespeichert werden Wenn der Puffer voll ist oder die Methode flush aufgerufen wird, werden alle gepufferten Eingaben in den echten Stream geschrieben. Das Puffern ist sinnvoll, wenn die Eingabe aus einer Datei gelesen wird. Es reduziert sich die Anzahl der Zugriffe auf das externe Gerät. Die Performance wird erhöht. An den Konstruktor wird ein externer Reader übergeben, an den die gepufferten Eingabe weitergereicht werden: public BufferedReader(Reader in) Eine ganze Zeile einlesen: public String readline() throws IOException 31/ 43 32/ 43

9 LineNumber Reader Ableitung von BufferedReader Zählt die Anzahl der Eingabezeilen beim Einlesen Schnittstelle entspricht der von BufferedReader Zusätzliche Methoden Datei- und Verzeichnis-Handling Zeilennummber einlesen: public int getlinenumber() Zeilenzähler verändern: public void setlinenumber(int linenumber) 33/ 43 34/ 43 Die Klasse File Die Klasse File kann als Abstraktion eines Dateinamens angesehen werden. File kann absolute und relative Namen unter UNIX Windows repräsentieren. Ein File objekt kann auch Verzeichnisse repräsentieren. Konstruktoren Initialisierung eines File-Objekts zu dem angegebenen Datei- oder Verzeichnisnamen: public File(String pathname) Initialisierung, wenn der Verzeichnis- und Dateiname getrennt übergeben wird: Die Klasse File import java.io.*; public class VerzeichnisHandling public static void main(string[] args) File testfile1 = new File( TestFile.txt ); File testfile2 = new File( /beispiele/, TestFile2.txt ); public File(String parent, String child) public File(File parent, String child) 35/ 43 36/ 43

10 Verzeichnisnamen unter WINDOWS Zugriff auf Teile des Pfadnamens Wert der Variablen pathname bzw. child: Unter WINDOWS ist der Backslash \ gleichzeitig Escape-Zeichen für Strings, deswegen muss er in Verzeichnisangaben doppelt angegeben werden. new File( c:\\java\\beispiele\\backslash.java ); public String getname() Wert der Variablen pathname bzw. parent+child: public String getpath() Absoluter Pfadname: public String getabsolutepath() Namen des Vaterverzeichnisses: public String getparent() 37/ 43 38/ 43 Zugriff auf Teile des Pfadnamens Zugriff auf Teile des Pfadnamens public class VerzeichnisHandling public static void pfadausgabe(file file) System.out.println(file.getName()); System.out.println(file.getPath()); System.out.println(file.getAbsolutePath()); public static void main(string[] args) File testfile1 = new File( TestFile.txt ); File testfile2 = new File( /beispiele/, TestFile2.txt ); pfadausgabe(testfile1); pfadausgabe(testfile2); 39/ 43 Ausgabe des Programms: TestFile.txt TestFile.txt /beispiele/testfile.txt TestFile2.txt /beispiele/testfile2.txt /beispiele/testfile2.txt 40/ 43

11 Informationen über die Datei Test der Existenz einer Datei: public boolean exists() Schreibender/Lesender Zugriffe möglich: public boolean canwrite() public boolean canread() Versteckte Datei: public boolean ishidden() Ist Objekt Datei oder Verzeichnis: public boolean isfile() public boolean isdirectory() Informationen über die Datei Würde das Objekt mit absoluter Pfadangabe konstruiert: public boolean isabsolute() Zeitpunkt der letzten Änderung in Millisekunden seit dem Mit Hilfe eines Date-Objektes kann Datum und Uhrzeit bestimmt werden: public long lastmodified() Anzahl der Zeichen in der Datei: public long length() 41/ 43 42/ 43 Zugriff auf Verzeichnisse Wurde ein File-Objekt für ein Verzeichnis konstruiert, so stehen weitere Methoden zur Verfügung. Inhalt des Verzeichnisses: public String[] list() Anlegen eines Verzeichnisses: public boolean mkdir() Löschen einer Datei oder Verzeichnisses: public boolean delete() 43/ 43

Ein- und Ausgabe in Java

Ein- und Ausgabe in Java Ein- und Ausgabe in Java Das Package java.io enthält eine Sammlung von Klassen, die die Kommunikation mit dem Computer steuern Einlesen und Ausgeben von Dateien Ausgabe auf dem Bildschirm Einlesen von

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Algorithmen und Datenstrukturen Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte Teile direkt aus der

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

Programmieren in Java

Programmieren in Java Programmieren in Java Dateien lesen und schreiben 2 Übersicht der heutigen Inhalte File Streams try-with-resources Properties csv-dateien 3 Klasse File Die Klasse java.io.file bietet Unterstützung im Umgang

Mehr

Ein- und Ausgabe mit Java

Ein- und Ausgabe mit Java Ein- und Ausgabe mit Java Michael Wiedau 1 math.- techn. Assistent/Informatik (IHK) 24. Mai 2004 1 wiedau@rz.rwth-aachen.de Inhaltsverzeichnis 1 Streamkonzept in Java 2 1.1 Die Klassenhierarchie.........................

Mehr

Einführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung

Einführung in die Informatik Algorithmen und Datenstrukturen. Thema 12 Datenverarbeitung Einführung in die Informatik Algorithmen und Datenstrukturen Thema 12 Datenverarbeitung Daten - Definitionen Foto? Text? Musik? Video? Zeichnung? Programm? Daten, urspr. svw. geschichtl. Zeitangaben; heute

Mehr

Umleitung von Datenströmen

Umleitung von Datenströmen Datenströme Filter und Pipes In UNIX eingeführte Abstraktion beim Datenaustausch Programme arbeiten als Erzeuger und/oder als Verbraucher von Datenströmen ==> Filter Die Erzeuger- und Verbraucherschnittstelle

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

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

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen

Kapitel 9. Programmierkurs. Attribute von Klassen, Methoden und Variablen. 9.1 Attribute von Klassen, Methoden und Variablen Kapitel 9 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Attribute von Klassen, Methoden und Variablen Interfaces WS 07/08 1/ 18 2/ 18

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Ströme zur Ein- und Ausgabe Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 44 Ströme zur

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

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik www.munz-udo.de Aufgaben: Ein Ausgabe Ein Rechner verwaltet nicht nur Daten, die während der Laufzeit des Programms erzeugt werden. Die meisten Programme greifen auf ältere Datenbestände zurück oder erzeugen für einen

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

Ein- und Ausgabe. Für die Ein- und Ausgabe von Daten gibt es eine Reihe von Möglichkeiten. Beispiele hierfür sind:

Ein- und Ausgabe. Für die Ein- und Ausgabe von Daten gibt es eine Reihe von Möglichkeiten. Beispiele hierfür sind: Ein- und Ausgabe Für die Ein- und Ausgabe von Daten gibt es eine Reihe von Möglichkeiten. Beispiele hierfür sind: Eingabe als Parameter auf der Kommandozeile Eingabe über die Tastatur Eingabe aus einer

Mehr

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore. Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Dateien: Allgemeines 2 Dateien lesen 3 Beispiel: CSV-Daten 4 Filter 5 Ausgabe in Dateien Dateien: Allgemeines Kaum eine

Mehr

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen

Mehr

Ausdrucksbäume in verschiedenen Darstellungen

Ausdrucksbäume in verschiedenen Darstellungen Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c

Mehr

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren 2 Selbststudium Semesterwoche 6 Programmieren 2 Selbststudium Semesterwoche 6 1. Datenströme (Basis: Handout PRG2_SW6_OOP) 1. Gehen Sie nochmals die Kontrollfragen A durch. A.1. Ein JavaProgramm liest Daten aus einem???strom. InputStream

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Fehlerbehandlung und Ein- und Ausgabe Titel der Präsentation 2 Fehler = Exceptions? Die Exception- bzw. Ausnahmebehandlung in Java ist eine spezielle Form der Fehlerbehandlung Typischerweise

Mehr

Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren.

Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Liebe Leserin, lieber Leser, in der ersten Auflage von Programmieren lernen mit Java von Hans- Peter Habelitz sind einige Fehler zu korrigieren. Niemand bedauert diese Fehler mehr als der Autor selbst.

Mehr

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 26 Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien 2 / 26 Dateien: Allgemeines Kaum

Mehr

Dateien/Streams. Arthur Zaczek. Okt 2015

Dateien/Streams. Arthur Zaczek. Okt 2015 Arthur Zaczek Okt 2015 1 Input/Output 1.1 Was ist ein Stream? Figure 1: InputStream Figure 2: OutputStream Graphik: (C) Copyright 1995-2009 Sun Microsystems, Inc. 1.2 Warum streamen? Reduktion des Speicherverbrauchs:

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

Java I Vorlesung Exceptions

Java I Vorlesung Exceptions Java I Vorlesung 8 Exceptions 14.6.2004 Exceptions (Ausnahmen) Klassen für Ein- und Ausgabe Ausnahmen Ausnahmen (Exceptions) sind ein Mechanismus zum kontrollierten Melden und Reagieren auf Fehler. Man

Mehr

Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1

Dynamische Datenstrukturen Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1 Dynamische Datenstrukturen 2006 Jiri Spale, Algorithmen und Datenstrukturen - Dynamische Datenstrukturen 1 Dynamische Datenstrukturen Keine konstante Kardinalität Speicherzuweisung erfolgt während der

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 14 Dateiverwaltung, das Stream-Konzept... 14-2 14.1 Datenströme... 14-2 14.1.1 Datenströme in Java, Paket java.io.*... 14-3 14.1.2 Standarddatenströme... 14-4 14.2 Klasse java.io.file... 14-7 14.3

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

Java Schulung (Java 2 Java Development Kit 5 / 6)

Java Schulung (Java 2 Java Development Kit 5 / 6) 5. Ausnahmebehandlung mit Exceptions 5.1 Auf Laufzeitfehler reagieren Während des Programmablaufs können Fehler auftreten, die zum Zeitpunkt des Kompilierens nicht abzusehen sind (Laufzeitfehler) tritt

Mehr

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode Methoden und Klassen Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik Wiederholung Jede Applikation braucht eine Klasse mit einer main-methode Eintrittspunkt in das Programm Die main-methode

Mehr

Kapitel 9. Ein- und Ausgabe. 9.1 Ströme

Kapitel 9. Ein- und Ausgabe. 9.1 Ströme Kapitel 9 Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über die Kommandozeile und Ausgaben immer durch Aufruf der Methode System.out.println realisiert. Tatsächlich

Mehr

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4. ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur

Mehr

Tutorium Java Ein Überblick. Helge Janicke

Tutorium Java Ein Überblick. Helge Janicke Tutorium Java Ein Überblick Helge Janicke 26. Oktober 2000 1 VORRAUSSETZUNGEN ZUM PROGRAMMIEREN MIT JAVA. 1 1 Vorraussetzungen zum Programmieren mit Java. Was braucht man, wenn man mit Java programmieren

Mehr

Klassen und Objekte. Objekte einer Klasse bilden

Klassen und Objekte. Objekte einer Klasse bilden Klassen und Objekte SWE-18 Eine Klasse definiert gleichartige Objekte mit ihren Datenelementen (Variable, fields) und Operationen (Methoden) in einer geschlossenen Programmstruktur. Beispiel: class Circles

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

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

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II AG Praktische Informatik Technische Fakultät Vorlesung Sommer 2009 Teil I Ein- und Ausgabe In den bisherigen Programmbeispielen wurden die Benutzereingaben immer über

Mehr

Javakurs zu Informatik I. Henning Heitkötter

Javakurs zu Informatik I. Henning Heitkötter Javakurs zu Informatik I Arrays vergleichen Implementieren Sie folgende Methode, die prüft, ob die Elemente der beiden Arrays an jeder Position übereinstimmen: public static boolean identisch(int[] a,

Mehr

Javakurs für Fortgeschrittene

Javakurs für Fortgeschrittene Javakurs für Fortgeschrittene Einheit 01: Organisation, Wiederholung und File IO Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Organisatorisches Ziele und Aufbau Zielgruppe,

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing.Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP JAVA 4 IV. Threads, Audiodateien, Bilder, Datumsfunktion, Aufruf

Mehr

Java Input/Output System (IO)

Java Input/Output System (IO) Java Input/Output System (IO) Ziel: Schreiben und Lesen von Daten auf sequentielle Medien. Paket: java.io. ab Java 1.4 auch java.nio, hier nicht beru cksichtigt. Trennung in 2 Welten: - Byteorientierte

Mehr

Programmieren I. Kapitel 15. Ein und Ausgabe

Programmieren I. Kapitel 15. Ein und Ausgabe Programmieren I Kapitel 15. Ein und Ausgabe Kapitel 15: Ein und Ausgabe Ziel: einen kleinen Einblick in die vielfältigen IO Klassen geben Grober Überblick Klasse File zur Verwaltung von Dateien Random

Mehr

Socket-Programmierung unter Java

Socket-Programmierung unter Java Datenströme -Programmierung unter Java 1 - Grundlagen: Datenströme JAVA unterscheidet Streams und Reader/Writer Zur Dateneingabe: InputStream oder Reader Zur Datenausgabe: OutputStream oder Writer Verwende

Mehr

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung.

Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. Dateioperationen Seite 1 von 12 Im Windows Betriebssystem sind Dateien eindeutig gekennzeichnet durch ihren Pfad, Dateinamen und nach einem Punkt die Dateierweiterung. z.b.: c:\testdateien\text.dat //Datendatei

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java Bisherige Beobachtungen zu Objekten: werden in Klassen zusammengefasst besitzen Eigenschaften und Verhalten verbergen private Informationen werden geboren, leben und

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

Validierung. pk12s-19,

Validierung. pk12s-19, Validierung pk12s-19, 24. 5. 2012 1 Validierung von Daten alle von außen kommenden Daten auf Plausibilität prüfen (erscheinen zuverlässig genug um damit weiterzurechnen) klare Regeln nötig, was als plausibel

Mehr

Einführung zur Aufgabengruppe 2

Einführung zur Aufgabengruppe 2 Einführung zur Aufgabengruppe 2 Alle Literaturhinweise beziehen sich auf die Vorlesung WS 10 Modellierung und Programmierung 1 1 Dateiverwaltung, das Stream-Konzept... 1-2 1.1 Datenströme (s. Kapitel Streams)...

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

Prof.Dr. Alfred Irber Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren"

Prof.Dr. Alfred Irber Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen Programmieren Prof.Dr. Alfred Irber 7.6.2012 Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren" Textformatierung (30 Punkte) Schreiben Sie ein komplettes C-Programm,

Mehr

ihrer Klasse benötigt die Funktion einfuegenan:

ihrer Klasse benötigt die Funktion einfuegenan: Aufgabe 11 Verkettete Listen Entwickeln Sie einen Algorithmus, der Ihnen das Einfügen eines Elementes an einer beliebigen Position innerhalb der Liste erlaubt. Der Algorithmus soll beispielsweise erlauben,

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 20. Januar 2016 Interface Sets M. Meiler Sortieren der Objekten einer

Mehr

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests.

Problemstellung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 24: Reflection 1. IDE und automatische Tests. Universität Osnabrück 1 Problemstellung 3 - Objektorientierte Programmierung in Java Vorlesung 24: Reflection 1 SS 2006 Prof. Dr. Frank M. Thiesing, FH Osnabrück Um ein Objekt anzulegen, eine seiner Methoden

Mehr

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, Dateiorganisation.

Einführung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, Dateiorganisation. Universität Osnabrück 1 Einführung 3 - Objektorientierte Programmierung in Java Vorlesung 14: Sequentielle Ein-/Ausgabe, Streams, SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Für die Ein- und Ausgabeprogrammierung

Mehr

Exceptions: Parameterprüfung import java.io.ioexception;

Exceptions: Parameterprüfung import java.io.ioexception; PPK2 Java Exceptions, Dateien Seite 1 von 31 Exceptions: Parameterprüfung import java.io.ioexception; public class Parameters public static String Methode(String str,exception obj,int index, String[] array)

Mehr

Programmieren mit einem einfachen Klassenkonzept

Programmieren mit einem einfachen Klassenkonzept Inhalt: Programme in Java Kommentare Sequentielle Anweisungen Verzweigungen Schleifentypen Sprunganweisungen Funktionen in Java Block M.: "Java-Intensivkurs - In 14 Tagen lernen Projekte erfolgreich zu

Mehr

Java Einführung Exception Handling. Kapitel 17

Java Einführung Exception Handling. Kapitel 17 Java Einführung Exception Handling Kapitel 17 Inhalt Was sind Exceptoins? Wie werden sie ausgelöst? Wie kann man Exceptions behandeln? Erweiterung von Exceptions Spezialfall IO 2 Ausnahmezustände Im Ablauf

Mehr

Programmieren in Java

Programmieren in Java 17. Übung 1. Aufgabe Schreibe ein Programm, das eine Textdatei (z.b. *.java ) aus dem aktuellen Verzeichnis über eine TextArea auf ein Fenster des Bildschirms abbildet. Jede Zeile soll dabei durchnummeriert

Mehr

Name: Matrikelnr : Aufgabe 1: (ca. 8 Punkte )

Name: Matrikelnr : Aufgabe 1: (ca. 8 Punkte ) Name: Aufgabe 1: (ca. 8 Punkte ) Matrikelnr : In einem Array int a = new int[1000] ; befinden sich 1000 verschiedene Zahlen. Schreiben Sie eine Funktion, die das Array als Parameter übergeben bekommt und

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

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

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen

3. Klassen Statische Komponenten einer Klasse. Klassenvariablen Klassenvariablen Wir wollen die Zahl der instantiierten Studentenobjekte zählen. Dies ist jedoch keine Eigenschaft eines einzelnen Objektes. Vielmehr gehört die Eigenschaft zu der Gesamtheit aller Studentenobjekte.

Mehr

Referat: Netzwerkprogrammierung in Java

Referat: Netzwerkprogrammierung in Java 1.)ISO/OSI und Internet Referenzmodell Referat: Netzwerkprogrammierung in Java ISO/OSI 7 Schichtenmodell (1-Bitübertragung, 2-Sicherung, 3-Netzwerk, 4-Transport, 5-Sitzung, 6- Darstellung, 7-Anwendung)

Mehr

1.2 Attribute und Methoden Aufbau einer Java-Klasse:

1.2 Attribute und Methoden Aufbau einer Java-Klasse: Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 15 Parallele Programmierung... 15-2 15.1 Die Klasse java.lang.thread... 15-2 15.2 Beispiel 0-1-Printer als Thread... 15-3 15.3 Das Interface java.lang.runnable... 15-4 15.4 Beispiel 0-1-Printer

Mehr

Die Bibliothek SysLibFile.lib

Die Bibliothek SysLibFile.lib Die Bibliothek SysLibFile.lib Diese Bibliothek unterstützt synchrone Dateizugriffe auf dem Zielrechner. Wenn das Zielsystem die Funktionalität beinhaltet, können folgende Bibliotheksfunktionen für den

Mehr

Objektorientierte Programmierung Einstufungstest

Objektorientierte Programmierung Einstufungstest Seite 1 von 11 Objektorientierte Programmierung Name: Zeit: 120 Minuten (2 Stunden) Programmiersprache Java 8 Nr. Aufgabe 1 Theoriemix 20 2 Matrix-Transposition 20 3 Organigramm 20 4 Vorlesungskalender

Mehr

Zusatzinformation zum USB-Flashdrive mit ARM und RS232

Zusatzinformation zum USB-Flashdrive mit ARM und RS232 Zusatzinformation zum USB-Flashdrive mit ARM und RS232 1. Belegung der LCD-Schnittstelle an JP3: REGISTER_SELECT READ_WRITE ENABLE DISPLAY_D0 DISPLAY_D1 DISPLAY_D2 DISPLAY_D3 DISPLAY_D4 DISPLAY_D5 DISPLAY_D6

Mehr

Vorlesung 11. Sitzung Grundlegende Programmiertechniken

Vorlesung 11. Sitzung Grundlegende Programmiertechniken Vorlesung 11. Sitzung Grundlegende Programmiertechniken Wintersemester 2007/2008 Dozent Nino Simunic M.A. Computerlinguistik, Campus DU Grundlegende Programmiertechniken, WS 2007/2008 Datenströme Externe

Mehr

Java I/O, Serialisierung und Netzwerkprogrammierung

Java I/O, Serialisierung und Netzwerkprogrammierung Java I/O, Serialisierung und Netzwerkprogrammierung Philipp Güttler 16. Dezember 2009 Universität Ulm, Abt. SGI Progwerkstatt 2 19 Gliederung Java I/O, Serialisierung und Netzwerkprogrammierung 16. Dezember

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

Einführung in die Informatik Files and Streams

Einführung in die Informatik Files and Streams Einführung in die Informatik Files and Streams Arbeiten mit Dateien und Streams Wolfram Burgard Cyrill Stachniss 5.1 Dateien Bisher gingen alle Ausgaben nach Standard output, d.h. auf den Monitor. Der

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

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

Wie entwerfe ich ein Programm?

Wie entwerfe ich ein Programm? Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +

Mehr

Einführung in die. objektorientierte Programmierung

Einführung in die. objektorientierte Programmierung Einführung in die objektorientierte Programmierung Teil 3 Vererbung Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik Prof. Dr. Gert Faustmann Fachbereich Berufsakademie

Mehr

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Praktikum zur Vorlesung

Mehr

Programmieren 2 09 File-IO

Programmieren 2 09 File-IO Programmieren 2 09 File-IO Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Eingabe und Ausgabe in Java Daten im Programm während der Ausführungszeit:

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

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

Angewandte IT-Sicherheit

Angewandte IT-Sicherheit Angewandte IT-Sicherheit Johannes Stüttgen Lehrstuhl für praktische Informatik I 30.11.2010 Lehrstuhl für praktische Informatik I Angewandte IT-Sicherheit 1 / 28 Aufgabe 1 Betrachten sie folgendes Programm:

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

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

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 Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

3 Objektorientierte Konzepte in Java

3 Objektorientierte Konzepte in Java 3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine

Mehr

Java: Vererbung. Teil 3: super() www.informatikzentrale.de

Java: Vererbung. Teil 3: super() www.informatikzentrale.de Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Informatik I. Matthias Geel Büro: IFW A Blog:

Informatik I. Matthias Geel Büro: IFW A Blog: Informatik I Matthias Geel Büro: IFW A45.2 E-Mail: geel@inf.ethz.ch Blog: http://blogs.ethz.ch/infitet09/ Übersicht 1. Nachbesprechung Übung 5 2. Theorie: Ein- und Ausgabe 3. Vorbesprechung Übung 7 09.11.2009

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

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6

Hochschule Augsburg, Fakultät für Informatik Name:... Prüfung Programmieren 1, IN1bac, WS 10/11 Seite 1 von 6 Prüfung "Programmieren 1", IN1bac, WS 10/11 Seite 1 von 6 Datum, Uhrzeit: 24. 01. 2011, 10.30 Uhr Semester: IN1 Note:... Prüfer: Prof. Meixner Dauer: 60 Min. Hilfsmittel: keine Punkte:... Diese Prüfung

Mehr

Programmieren in Java

Programmieren in Java Datei-Handling Anonyme Klassen 2 Enums Enums sind eine Aufzählung von int-werten, wobei jedes Element einem bestimmten Namen zugeordnet ist In Java werden Enums über das Schlüsselwort enum definiert und

Mehr

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuÿ, Henning Timm Übungsblatt 2

Mehr