Java Schulung. Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete. Prof. Dr. Nikolaus Wulff
|
|
- Edmund Geisler
- vor 8 Jahren
- Abrufe
Transkript
1 Java Schulung Objektorientierte Programmierung in Java Teil VI: Wichtige Java Pakete Prof. Dr. Nikolaus Wulff
2 Java Pakete Für die meisten Aufgaben stellt Java bereits viele nützliche Bibliotheken zur Verfügung: Datei Ein- und Ausgabe java.io Container Klassen java.util Logging API java.util.logging Netzwerk und Socket Programmierung java.net Datenbankzugriffe java.sql Graphische Benutzerschnittstellen java.awt und javax.swing Das Problem ist lediglich das richtige Paket für die gestellte Aufgabe zu finden :-( Prof. Dr. Nikolaus Wulff 2
3 java.io Das java.io Paket enthält die wichtigen Konzepte zur Manipulation von Dateien und das Arbeiten mit Streams: File Input- und OutputStream Reader und Writer Die Streams und Reader/Writer Klassen sind nach dem Unix Pipe Konzept modelliert und lassen sich nahezu beliebig verschachteln. Prof. Dr. Nikolaus Wulff 3
4 Input Klassenhierarchie System (from lang) +$in InputStream -in FilterInputStream ObjectInputStream ByteArrayInputStream StringBufferInputStream PipedInputStream LineNumberInputStream -dis DataInputStream BufferedInputStream PushbackInputStream io (from java) FileInputStream -fd FileDescriptor +$out +$err +$in IOException String (from lang) -path +$separator +$pathseparator File Prof. Dr. Nikolaus Wulff 4
5 Output Klassenhierarchie OutputStream #out -out <<Interface>> ObjectStreamConstants <<Interface>> ObjectOutput PipedOutputStream ByteArrayOutputStream FilterOutputStream ObjectOutputStream io (from java) BufferedOutputStream -dos DataOutputStream PrintStream OutputStreamWriter -charout IOException FileOutputStream FileDescriptor +$out -fd +$out System (from lang) Prof. Dr. Nikolaus Wulff 5
6 Reader InputStream Reader #in -in InputStreamReader StringReader BufferedReader FilterReader PipedReader CharArrayReader FileReader Die Reader Klassen kapseln Texteingaben. Häufig verwenden sie im Konstruktor einen InputStream, von dem sie die Daten einlesen. Beispiel InputStream- und FileReader Die Reader lassen sich verschachteln. Prof. Dr. Nikolaus Wulff 6
7 Writer Writer -out PipedWriter CharArrayWriter StringWrite r OutputStreamWriter PrintWriter BufferedWriter Fil terwri ter Die Writer Hierarchie besteht aus Klassen für Textausgaben. Sie ist ähnlich strukturiert wie die Reader Hierarchie. Prof. Dr. Nikolaus Wulff 7
8 Fehler über Fehler... EOFException io (from java) IOException FileNotFoundException InterruptedIOException SyncFailedException ObjectStreamException CharConversionException UTFDataFormatException NotActiveException UnsupportedEncodingException StreamCorruptedException OptionalDataException InvalidObjectException InvalidClass Exception WriteAbortedException Prof. Dr. Nikolaus Wulff 8
9 Übung Entwickeln Sie das Unix Head Utility Head schreibt die ersten 10 Zeilen einer Datei auf die Console. Die Anzahl der zu lesenden Zeilen kann vorgegeben werden. Testen Sie mit JUnit! Die Ausgabe kann in eine Datei umgeleitet werden. Aufruf: java Head dateiname [-o ausgabedatei] [-l anzahl zeilen] Ziele: Kennenlernen der io-klassen: File & FileInput/OutputStream, LineNumberReader Stream Verkettungen Datei IO sinnvoll mit JUnit testen, temporäre Dateien anlegen. Prof. Dr. Nikolaus Wulff 9
10 Head in Aktion Aufruf Verwendete Klassen Ausgabe Schleife Zeilen zählen! Prof. Dr. Nikolaus Wulff 10
11 Ströme verketten Die Java IO-Ströme lassen sich wie bei der Unix Pipe Architektur verketten. Dadurch ist es möglich Filter dazwischen zu schalten oder Ströme mit neuen Eigenschaften zu dekorieren. Eingabe Datei FileInputStream copy(from, to) Ausgabe Datei FileOutputStream GZIPOutputStream Prof. Dr. Nikolaus Wulff 11
12 Ein ZIP Strom Die Verkettung von Strömen ist recht einfach: OutputStream out; out = new FileOutputStream(destination); out = new BufferedOutputStream(out); out = new GZIPOutputStream(out); und hier die generische Kopiermethode: protected void copy(inputstream in, OutputStream out) throws IOException { byte[] buf = new byte[4096]; int read, EOF = -1; while( (read = in.read(buf))!= EOF) { out.write(buf, 0, read); } } Prof. Dr. Nikolaus Wulff 12
13 Filter als Ströme Durch die Verkettung von Eingabe- oder Ausgabeströmen lassen sich sehr einfach und modular Filter entwickeln. Es muss lediglich ein zusätzlicher Filter in die Einoder Ausgabe geschaltet werden: Eingabe Datei FileInputStream MyFilterInputStream Ausgabe Datei FileOutputStream copy(from, to) Prof. Dr. Nikolaus Wulff 13
14 Ein HTML Filter Ein einfacher HTML zu Text Konverter soll entwickelt werden. Hierzu wird ein Filter verwendet, der alle HTML Markup Tags elemeniert. Da es sich hierbei um reinen Text handelt ist es einfacher mit einem Reader/Writer Paar zu arbeiten: Eingabe Datei FileReader HTMLReader Ausgabe Datei FileWriter copy(from, to) Prof. Dr. Nikolaus Wulff 14
15 BufferedReader überladen Um einen CharakterFilter zu entwickeln bietet es sich an von BufferedReader zu erben und dessen read-methode zu überladen. Die gesamte Funktionalität eines (gepufferten) Readers ist dann bereits vorhanden. Es wird lediglich eine Methode implementiert, die die HTML Auszeichnungen <xxx> herausfiltert. Eine gute Implementierung würde eventuell noch mehr leisten und z. B. an den richtigen Stellen Zeilenumbrüche einbauen etc... public class HTMLReader extends BufferedReader {...} Prof. Dr. Nikolaus Wulff 15
16 Gefiltertes read public int read(char[] buf, int start, int len) throws IOException { int i, j, num = 0; boolean markup = false; while(num == 0) { num = super.read(buf, start, len); if (num == EOF) return EOF; i = j = start; for(; i < start + num; i++) { switch( buf[i]) { case '<': markup = true; break; case '>': markup = false; break; default: if(!markup) buf[j++] = buf[i]; } // end switch } // for loop num = j - start; } // while loop return num; } Prof. Dr. Nikolaus Wulff 16
17 Java Persistenz Im IO Paket befindet sich die Serializable Schnittstelle. Serializable ist ein leeres Marker Interface. Klassen die diese Schnittstelle implementieren können von der JVM automatisch in einem Stream serialisiert und somit per TCP/IP verschickt oder im Dateisystem gespeichert und wieder ausgelesen werden. Java verwendet hierzu die von Object geerbten Methoden read/writeobject. Jedes Objekt lässt sich in einen ObjectOutputStream schreiben oder von einem ObjectInputStream lesen. Prof. Dr. Nikolaus Wulff 17
18 Übung Erweitern Sie das Painter und Shapes Beispiel, so dass der Painter die Shapes in eine Datei schreiben oder wieder auslesen kann. Geben Sie den Shapes mehr Attribute posx, posy, width, height Speichern/Lesen Sie in/aus "Paintable.dat" Geben Sie die Datei mit dem DOS Type Befehl auf der Console aus. Was sehen Sie? Was passiert wenn eine der Shapes Klassen nicht Serializable implementiert? Prof. Dr. Nikolaus Wulff 18
19 Tip: Painter ObjectOutputStream (from java.io) writeall (from painter) drawall() addpaintable() storeall() readall() readall ObjectInputStream (from java.io) <<Interface>> Serializable (from java.io) 0..* <<Interface>> Paintable (from painter) Shape (from shapes) Lesen und Schreiben sind symmetrische Aktionen mit korrepondierenden IO-Streams. Das Serializable Marker-Interface wird am besten von der abstrakten Shapes Klasse implementiert. Prof. Dr. Nikolaus Wulff 19
20 Serialisierung in Aktion public static void main(string[] args) throws Exception { Painter painter = new Painter(); addshapes(painter); painter.drawall(); System.out.println(""); String filename = "Paintable.dat"; // store graph to file system System.out.println("Store to " + filename); painter.storeall(filename); // now create an empty fresh painter Painter emptypainter = new Painter(); System.out.println(""); System.out.println("Read from " + filename); emptypainter.readall(filename); emptypainter.drawall(); } Prof. Dr. Nikolaus Wulff 20
21 Systemeigenschaften Das java.util Paket enthält die Klasse Properties als Erweiterung einer Hashtable (Map). In ihr werden System- oder Applikationseigenschaften hinterlegt. Properties werden häufig als Textdateien gepflegt, um eine Anwendung zu parametrisieren - ohne neu compilieren zu müssen. Properties lassen sich per In-/OutStream einfach (lesbar!) serialisieren. Die java.lang.system Klasse liefert z.b. per getproperties die aktuellen Umgebungsvariablen der JVM. Properties props = System.getProperties(); Prof. Dr. Nikolaus Wulff 21
22 Eine Property Datei # # general server settings # server.url = localhost server.protocol = http server.port = 80 # # available services # service.1.name = HelloWorld service.1.class = services.helloworldservice service.1.param = DummyParameter # service.2.name = Calculator service.2.class = services.calculatorservice Obiges Beispiel zeigt die Struktur einer Property Datei. Sie besteht aus (key,value)-tupeln mit dem Kommentarzeichen #. Aufgrund des einfachen Aufbaus lässt sich diese Struktur ideal in einer Map/Collection Klasse speichern... Prof. Dr. Nikolaus Wulff 22
23 Übung Schreiben Sie ein Programm, das die Systemeinstellungen auf der Console ausgibt und auf Wunsch in einer Datei speichert. Was bedeuten die Eigenschaften? Systemeinstellungen lassen sich beim Start der JVM per Kommandozeile java -Dkey=value übergeben. Probieren sie dies aus. Tip: versuchen Sie einmal java -help Erweitern Sie die Klasse, so dass diese eine beliebige Property Datei wieder einliest und ausgibt. Prof. Dr. Nikolaus Wulff 23
24 Properties einlesen Eigenschaften lassen sich von beliebigen InputStreams einlesen: protected Properties loadinput(string name) { Properties props = new Properties(); try { InputStream fin = new FileInputStream(name); props.load(fin); } catch (Exception error) { println("error reading " + name); error.printstacktrace(); } return props; } Prof. Dr. Nikolaus Wulff 24
25 Properties schreiben Ebenso leicht lassen sich diese in beliebige Ströme schreiben: protected void storeoutput(properties props, String name) { try { OutputStream fout = new FileOutputStream(name); props.store(fout, "Properties example"); } catch (Exception error) { println("error writing " + name); error.printstacktrace(); } } Prof. Dr. Nikolaus Wulff 25
26 Logging Häufig werden während der Entwicklung Debug Ausgaben per System.out.println ausgegeben. Im Release Code sollen diese meistens nicht mehr erscheinen und auch die Laufzeitumgebung nicht mehr unnötig mit String Operationen belasten. Nur noch wichtige Fehlermeldungen müssen protokolliert werden. Diese Funktionalität wird von Bibliotheken wie z.b. Log4J oder seit JDK1.4 von dem java.util.logging Paket erfüllt. Debug Nachrichten lassen sich per Konfiguration aus einer Properties Datei gezielt für einzelne Pakete oder Klassen gestaffelt nach der Wichtigkeit (DEBUG, INFO, WARN, ERROR,...) an oder ausschalten und in Dateien umleiten. Prof. Dr. Nikolaus Wulff 26
27 Logging Example import java.util.logging.logger; public class LoggingExample { public static final boolean DEBUG = true; /** create a logger associated to this class name */ private static Logger logger = Logger.getLogger(LoggingExample.class.getName()); } public void assertion(boolean cond, String reason) { if (!cond) { // assertions logging will stay in production code logger.severe("assertion " + reason); throw new IllegalStateException(reason); } } public void dosomething(object obj) { if (DEBUG) { // no info logging in production code logger.info("doing something with " + obj); } assertion(obj!= null,"object == null"); // do something useful... } public static void main(string[] args) { LoggingExample example = new LoggingExample(); example.dosomething(null); } Prof. Dr. Nikolaus Wulff 27
28 Tips zum Logging Da das DEBUG boolean als final static markiert ist, kann der Compiler dies bereits auswerten und der gesamte Codeblock wird nicht in die Class-Datei generiert, falls das Flag false ist. => Performance im Release! Damit nicht in allen Klassen DEBUG Flags gesetzt werden müssen, das Flag pro Projekt/Bibliothek in eine zentrale Schnittstellendatei auslagern. Diese wird an einer zentralen Stelle verwaltet: import myproject.settings.global; public class LoggingExample { public void dosomething(object obj) { if (Global.DEBUG) { // no info logging in production code logger.info("doing something with " + obj); } assertion(obj!= null,"object == null"); // do something useful... } Prof. Dr. Nikolaus Wulff 28
29 Logging Format Eigene LoggingFormatter können entwickelt und definiert werden. Der Formatter der Log Ausgaben lässt sich in der Logging.properties Datei parametrisieren. Optional kann er auch als Systemeigenschaft definieren werden (funktioniert noch nicht): -Djava.util.logging.ConsoleHandler.formatter=myFormatter Prof. Dr. Nikolaus Wulff 29
30 Logging.properties ## From %JDK_HOME%\jre\lib\Logging.properties handlers= java.util.logging.consolehandler # To also add the FileHandler, use the following line instead. #handlers= java.util.logging.filehandler, java.util.logging.consolehandler # Default global logging level..level= INFO ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ # default file output is in user's home directory. java.util.logging.filehandler.pattern = %h/java%u.log java.util.logging.filehandler.limit = java.util.logging.filehandler.count = 1 java.util.logging.filehandler.formatter = java.util.logging.xmlformatter # Limit the message that are printed on the console to INFO and above. java.util.logging.consolehandler.level = INFO # java.util.logging.consolehandler.formatter = java.util.logging.simpleformatter java.util.logging.consolehandler.formatter=logging.logformatter Einbinden eines eigenen Formatierers Prof. Dr. Nikolaus Wulff 30
31 Übung Entwickeln Sie einen LogFormatter der die Klasse und Zeilenummer der Lognachricht mit ausgibt. Tip: Die Zeilennummer lässt sich aus dem Stacktrace einer Exception ermitteln... Verwenden Sie anstatt des + Operators die Klasse java.lang.stringbuffer, um Strings zusammenzufügen. Prof. Dr. Nikolaus Wulff 31
32 Stringparsing Häufig müssen zusammengesetzte Strings nach einem bestimmten Schema zerlegt werden, z.b. CSV Dateien (comma-separated-values). Im java.util Paket befindet sich die Klasse StringTokenizer, die es gestattet String sehr komfortabel in Teilausdrücke (Tokens) zu zerlegen. String bigline = "this is a test"; StringTokenizer st = new StringTokenizer(bigline); while (st.hasmoretokens()) { System.out.println(st.nextToken()); } this is a test Prof. Dr. Nikolaus Wulff 32
33 Stringparsing Im Konstruktor kann das Trennungszeichen angeben werden Voreinstellung ist das Leerzeichen (space) ' ' == '\s' Seit dem JDK1.4 gibt es in der String Klasse die Operation split, die gleiches leistet und bevorzugt verwendet werden soll. (Erfordert regular expression Syntax). String[] result = bigline.split("\\s"); for (int x=0; x<result.length; x++) System.out.println(result[x]); Prof. Dr. Nikolaus Wulff 33
34 Übung Entwickeln Sie einen Parser, der den Klassennamen einer beliebigen Klasse in die einzelnen Pakete und die eigentliche Klasse zerlegt. Denken Sie daran auch innere Klassen und Interfaces mit auszugeben. Woran kann man diese erkennen? Tip: Schauen Sie in das bin Verzeichnis... Vergessen Sie den JUnit Test nicht. Prof. Dr. Nikolaus Wulff 34
35 Übung Entwickeln und Testen Sie einen Parser, der einen HTTP GET request in seine Bestandteile zerlegt. Ein solcher Request hat die generische Form Request-Line = Method SP Request-URI SP HTTP-Version CRLF Die URI setzt sich aus dem Pfad und dem Dokument zusammen. Handelt es sich statt dessen um ein Servlet so können durch '?' und '&' getrennt optionale Parameter übergeben werden. Request-URI = /path/dokument Request-URI = /name? arg1=val1 &arg2=val2... GET /Calculator?arg1=5&arg2=3&op=+ HTTP/1.1 Prof. Dr. Nikolaus Wulff 35
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
MehrProgrammieren 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
MehrProgrammieren 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
MehrProgrammieren 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
MehrJava 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
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrJava: 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
MehrDas 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
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrInfo 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:
MehrVorlesung 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Übung Grundlagen der Programmierung. Übung 03: Schleifen. Testplan Testergebnisse
Übung 03: Schleifen Abgabetermin: xx.xx.xxxx Name: Matrikelnummer: Gruppe: G1 (Prähofer) G2 (Prähofer) G3 (Wolfinger) Aufgabe Punkte gelöst abzugeben schriftlich abzugeben elektronisch Aufgabe 03.1 12
MehrDatenströ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
MehrJava 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
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrJavakurs 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,
MehrJava Einführung Packages
Java Einführung Packages Inhalt dieser Einheit Packages (= Klassenbibliotheken) Packages erstellen Packages importieren Packages verwenden Standard Packages 2 Code-Reuse Einbinden von bereits (selbst-/fremd)
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrGrundlagen der Informatik für Ingenieure I
13 Java-E/A-System 13.1. E/A-System-Überblick 13.2 Dateisystem - Betriebssystemsicht 13.3 Java-I/O-System 13.4 I/O-Klassenhierachie 13.5 InputStream class; Reader class 13.5.1 read() method 13.5.2 skip()
MehrVorlesung 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
MehrEinführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrModellierung 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();
MehrEinstieg 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
MehrGrundlagen 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,
MehrBrainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
MehrRemote Method Invocation
Remote Method Invocation Aufruf von Methoden über die Grenzen der VM hinweg. Javaprozesse der rufenden und gerufenen Methode können auf verschiedenen Hosts laufen. Eine RMI-Applikation besteht aus dem
MehrHow To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform
How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)
MehrJava-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
MehrAufgabenblatt Nr. 5 Generizität und TicTacToe
Aufgabenblatt Nr. 5 Generizität und TicTacToe 1 Generische Sortier-Methode 1.1 Aufgabe: Entwickeln einer generischen Sortiermethode für Objekte mit der Schnittstelle Comparable Ihnen ist aus der Vorlesung
Mehri n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e r. d e Servlet Debugging
Servlet Debugging Markus Völter, voelter@acm.org, www.voelter.de Bei der Arbeit mit Servlets kommt man recht schnell an den Punkt, an dem man Servlets vernünftig testen oder debuggen will. Mit Hilfe des
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrDynamische 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
Mehr7. Pakete Grundlagen der Programmierung 1 (Java)
7. Pakete Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 29. November 2005 Einordnung im Kontext der Vorlesung 1.
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrÜbungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen
Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe
MehrProblemstellung. 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
MehrJava 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]...
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrSoftware-Engineering und Optimierungsanwendungen in der Thermodynamik
Software-Engineering und Optimierungsanwendungen in der Thermodynamik Software-Engineering 5 Programmentwicklung und Debuggen mit IDE und CASE-Tools Übungen Prof. Dr. Rolf Dornberger OPTSWE_SWE: 5 Programmentwicklung
MehrVorlesung 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
MehrDHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung
DHBW Karlsruhe, Vorlesung Programmieren, Events Musterlösung Aufgabe Editor package BA.GUI.Swing; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.logging.level; import java.util.logging.logger;
MehrProgrammiermethodik. Übung 13
Programmiermethodik Übung 13 Sommersemester 2010 Fachgebiet Software Engineering andreas.scharf@cs.uni-kassel.de Agenda Vorstellung Musterlösung HA9 Mancala Showroom Client/Server Kommunikation in Java
MehrEs sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
MehrComputeranwendung und Programmierung (CuP)
Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag
MehrFachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 6
Gudrun Fischer Sascha Kriewel programmierung@is.informatik.uni-duisburg.de Anmeldung zur Klausur! Übungsblatt Nr. 6 Um an der Klausur teilzunehmen, müssen sich Studierende der angewandten Informatik in
MehrDistributed 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
MehrQt-Projekte mit Visual Studio 2005
Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung
MehrKlausur zur Einführung in die objektorientierte Programmierung mit Java
Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-
MehrAbteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2
Inhalt 1. Printing API 1. Übersicht 2. Vorgehen 3. Beispiel 2. Klasse PrintUtils 3. Mehrere Seiten drucken Folie 1 Lernziele Sie wissen, wie Sie Swing-Komponenten ausdrucken können Sie kennen den Aufbau
MehrAK-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
MehrProgrammentwicklung ohne BlueJ
Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie
MehrHöhere Programmierkonzepte Testklausur
Höhere Programmierkonzepte Testklausur Prof. Dr. Nikolaus Wulff Zum 15. Januar 2016 1 Ein Google-Map Algorithmus (5 Punkte) 1 2 typedef void X; 3 typedef void Y; 4 5 void map(unsigned int n / tuple length
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrStudentische Lösung zum Übungsblatt Nr. 7
Studentische Lösung zum Übungsblatt Nr. 7 Aufgabe 1) Dynamische Warteschlange public class UltimateOrderQueue private Order[] inhalt; private int hinten; // zeigt auf erstes freies Element private int
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrScala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
Mehr188.154 Einführung in die Programmierung für Wirtschaftsinformatik
Beispiel 1 Vererbung (Liste) Gegeben sind die beiden Klassen ListNode und PersonNode. 188.154 Einführung in die Programmierung für Wirtschaftsinformatik Wiederholung, Prüfungsvorbereitung Monika Lanzenberger
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrApplets I. Grundlagen der g Applet-Programmierung
Applets I Grundlagen der g Applet-Programmierung 2 Inhalt Applets Was sind Applets Entwicklung Grundlagen Zustandssteuerung eines Applets Methoden zum Nachrichtentransfer Soundausgabe Animation Einbindung
Mehrjava.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
MehrNutzung von Log4J und Commons Logging
Nutzung von Log4J und Commons Logging Ausgaben steuern mit Commons Logging und Log4J by Peter Roßbach NOTICE: In der Centaurus Platform gibt es diverse Ausgabemechanismen zu steuern. Die meisten heutigen
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
MehrLiebe 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.
MehrSWE1 / Übung 2 (19.10.2011)
SWE1 / Übung 2 (19.1.211) Simulation von Algorithmen Testen, Testplan Beispiel arithmetische Ausdrücke Handsimulation von Algorithmen Man versteht einen Algorithmus (insbesonders einen "Fremden"), wenn
MehrTesten mit JUnit. Motivation
Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen
MehrBauteilattribute als Sachdaten anzeigen
Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...
MehrÜbung: Verwendung von Java-Threads
Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger
Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Tafelübung 04 Referenzen, Overloading, Klassen(hierarchien) Clemens Lang T2 18. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/13 Organisatorisches Nächster Übungstermin
MehrInformatik Grundlagen, WS04, Seminar 13
Informatik Grundlagen, WS04, Seminar 13 Informatik Informatik Grundlagen, Seminar 13 WS04 1 Was wir heute besprechen Nachbesprechen von Übungsblatt 11 Rekursion Grundprinzipien Übung Besprechung Übungsblatt
MehrBüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen
BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1
MehrProgrammieren II. Sockets. Vorlesung 16. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010. Sockets.
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 19 2 / 19 Über einen Socket kann eine Anwendung die Implementierung des Netzwerkprotokolls des darunter liegenden Betriebssystems
MehrÜbungsblatt 3: Algorithmen in Java & Grammatiken
Humboldt-Universität zu Berlin Grundlagen der Programmierung (Vorlesung von Prof. Bothe) Institut für Informatik WS 15/16 Übungsblatt 3: Algorithmen in Java & Grammatiken Abgabe: bis 9:00 Uhr am 30.11.2015
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrGEONET Anleitung für Web-Autoren
GEONET Anleitung für Web-Autoren Alfred Wassermann Universität Bayreuth Alfred.Wassermann@uni-bayreuth.de 5. Mai 1999 Inhaltsverzeichnis 1 Technische Voraussetzungen 1 2 JAVA-Programme in HTML-Seiten verwenden
MehrEr musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
MehrAnleitung zum Login. über die Mediteam- Homepage und zur Pflege von Praxisnachrichten
Anleitung zum Login über die Mediteam- Homepage und zur Pflege von Praxisnachrichten Stand: 18.Dezember 2013 1. Was ist der Mediteam-Login? Alle Mediteam-Mitglieder können kostenfrei einen Login beantragen.
MehrPakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).
Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
Mehr5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:
5. Abstrakte Klassen Beispiel 5. Abstrakte Klassen 5. Abstrakte Klassen Beispiel Beispiel (3) Angenommen, wir wollen die folgende Klassenhierarchie implementieren: Probleme des Implementierungsvorschlags:
Mehr4. AuD Tafelübung T-C3
4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {
MehrEinführung in PHP. (mit Aufgaben)
Einführung in PHP (mit Aufgaben) Dynamische Inhalte mit PHP? 2 Aus der Wikipedia (verkürzt): PHP wird auf etwa 244 Millionen Websites eingesetzt (Stand: Januar 2013) und wird auf etwa 80 % aller Websites
MehrPython SVN-Revision 12
Python SVN-Revision 12 Uwe Ziegenhagen 7. Januar 2012 Vorwort Dieses Skript erhebt keinen Anspruch auf Vollständigkeit oder Richtigkeit. Es wird geschrieben, um mir als Gedächtnisstütze für den Umgang
MehrKapitel 3 Bilder farblich verändern - Arbeiten mit Objekten
Nahezu auf jedem Buchcover, CD Hülle oder auf den Werbeseiten in Zeitschriften und Magazinen, sehen Sie fast ausschließlich Bilder, die mit einem EBV Programm einen sogenannten künstlerischen Touch erhalten
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
Mehr