Java ist auch eine Insel

Größe: px
Ab Seite anzeigen:

Download "Java ist auch eine Insel"

Transkript

1 Christian Ullenboom Java ist auch eine Insel Programmieren mit der Java Platform, Standard Edition 6

2 Auf einen Blick 1 Java ist auch eine Sprache Sprachbeschreibung Klassen und Objekte Der Umgang mit Zeichenketten Mathematisches Eigene Klassen schreiben Angewandte Objektorientierung Exceptions Die Funktionsbibliothek Threads und nebenläufige Programmierung Raum und Zeit Datenstrukturen und Algorithmen Dateien und Datenströme Die extensible Markup Language (XML) Grafische Oberflächen mit Swing Grafikprogrammierung Netzwerkprogrammierung Verteilte Programmierung mit RMI und Web-Services JavaServer Pages und Servlets Applets Midlets und die Java ME Datenbankmanagement mit JDBC Reflection und Annotationen Logging und Monitoring Sicherheitskonzepte Java Native Interface (JNI) Dienstprogramme für die Java-Umgebung A Die Begleit-DVD

3 Inhalt Vorwort Java ist auch eine Sprache Der erste Kontakt Historischer Hintergrund Eigenschaften von Java Bytecode und die virtuelle Maschine Objektorientierung in Java Java-Security-Modell Zeiger und Referenzen Bring den Müll raus, Garbage-Collector! Ausnahmebehandlung Kein Präprozessor für Textersetzungen Keine überladenen Operatoren Java als Sprache, Laufzeitumgebung und Bibliothek Wofür sich Java nicht eignet Java im Vergleich zu anderen Sprachen Java ist Open Source Die Rolle von Java im Web Vollwertige Applikationen statt Applets Die Java Platform Standard Edition (Java SE) JDK und JRE Java-Versionen Java für die Kleinen Java für die Großen Installationsanleitung für Java SE Das erste Programm compilieren und testen Ein Quadratzahlen-Programm Der Compilerlauf Die Laufzeitumgebung Häufige Compiler- und Interpreterprobleme Entwicklungsumgebungen im Allgemeinen Die Entwicklungsumgebung Eclipse NetBeans von Sun Ein Wort zu Microsoft, Java und zu J Eclipse im Speziellen Eclipse starten Das erste Projekt anlegen Eine Klasse hinzufügen

4 Inhalt Übersetzen und Ausführen JDK statt JRE Start eines Programms ohne Speicheraufforderung Projekt einfügen oder Workspace für die Aufgaben wechseln Plugins für Eclipse Eclipse Web Tools Platform (WTP) Zum Weiterlesen Sprachbeschreibung Elemente der Programmiersprache Java Textkodierung durch Unicode-Zeichen Literale Bezeichner Reservierte Schlüsselwörter Token Kommentare Anweisungen formen Programme Anweisungen Eine Klasse bildet den Rahmen Die Reise beginnt am main() Programme übersetzen und starten Funktionsaufrufe als Ausdrücke und Anweisungen print(), println() und printf() für Bildschirmausgaben Modifizierer Anweisungen und Blöcke Datentypen Primitive Datentypen im Überblick Wahrheitswerte Variablendeklarationen Ganzzahlige Datentypen Die Fließkommazahlen float und double Alphanumerische Zeichen Ausdrücke, Operanden und Operatoren Zuweisungsoperator Arithmetische Operatoren Unäres Minus und Plus Zuweisung mit Operation Präfix- oder Postfix-Inkrement und -Dekrement Die relationalen Operatoren und die Gleichheitsoperatoren Logische Operatoren Und, Oder, Xor, Nicht Rang der Operatoren in der Auswertungsreihenfolge Die Typanpassung (das Casting)

5 Inhalt Überladenes Plus für Strings Was C(++)-Programmierer vermissen könnten Bedingte Anweisungen oder Fallunterscheidungen Die if-anweisung Die Alternative mit einer if/else-anweisung wählen Die switch-anweisung bietet die Alternative Schleifen Die while-schleife Schleifenbedingungen und Vergleiche mit == Die do-while-schleife Die for-schleife Ausbruch planen mit break und Wiedereinstieg mit continue break und continue mit Sprungmarken Methoden einer Klasse Bestandteil einer Funktion Beschreibungen in der Java-API Aufruf einer Methode Methoden ohne Parameter Statische Funktionen (Klassenmethoden) Parameter, Argument und Wertübergabe Methoden vorzeitig mit return beenden Nicht erreichbarer Quellcode bei Funktionen Rückgabewerte Methoden überladen Vorgegebener Wert für nicht aufgeführte Argumente Finale lokale Variablen Rekursive Funktionen Die Türme von Hanoi Weitere Operatoren Bits und Bytes Operationen auf Bit-Ebene Die Verschiebeoperatoren Ein Bit setzen, löschen, umdrehen und testen Bit-Funktionen der Integer- und Long-Klasse Der Bedingungsoperator Einfache Benutzereingaben Zum Weiterlesen Klassen und Objekte Objektorientierte Programmierung Warum überhaupt OOP? Wiederverwertbarkeit

6 Inhalt Eigenschaften einer Klasse Die Klasse Point Die UML (Unified Modeling Language) Hintergrund und Geschichte zur UML Wichtige Diagrammtypen der UML Neue Objekte erzeugen Anlegen eines Exemplars einer Klasse mit dem new-operator Deklarieren von Referenzvariablen Zugriff auf Variablen und Methoden mit dem».« Konstruktoren nutzen Die API-Dokumentation Import und Pakete Mit Referenzen arbeiten Die null-referenz Zuweisungen bei Referenzen Funktionen mit nicht-primitiven Parametern Identität und Gleichheit Identität von Objekten Gleichheit und die Methode equals() Wrapper-Klassen und Autoboxing Die Basisklasse Number für numerische Wrapper-Objekte Die Klasse Integer Unterschiedliche Ausgabeformate Autoboxing: Boxing und Unboxing Die Boolean-Klasse Die Klassen Double und Float für Fließkommazahlen Arrays Deklaration von Arrays Arrays mit Inhalt Die Länge eines Arrays über das Attribut length Zugriff auf die Elemente über den Index Array-Objekte erzeugen Fehler bei Arrays Vorinitialisierte Arrays Die erweiterte for-schleife Arrays mit nicht-primitiven Elementen Mehrdimensionale Arrays Die Wahrheit über die Array-Initialisierung Mehrere Rückgabewerte Methode mit variabler Argumentanzahl (Vararg) Klonen kann sich lohnen Arrays vermehren Feldinhalte kopieren Die Klasse Arrays zum Vergleichen, Füllen und Suchen

7 Inhalt 3.10 Der Einstiegspunkt für das Laufzeitsystem main() Kommandozeilen-Argumente verarbeiten Der Rückgabewert von main() und System.exit() Eigene Pakete schnüren Die package-anweisung Importieren von Klassen mit import Hierarchische Strukturen und das Default-Package Paketnamen Klassen mit gleichen Namen in unterschiedlichen Paketen Statisches Import Eine Verzeichnisstruktur für eigene Projekte Zum Weiterlesen Der Umgang mit Zeichenketten Einzelne Zeichen mit der Character-Klasse behandeln Strings und deren Anwendung String-Literale als String-Objekte für konstante Zeichenketten String-Länge und Test auf Leerstring Nach enthaltenen Zeichen und Zeichenfolgen suchen Gut, dass wir verglichen haben String-Teile extrahieren Strings anhängen, Groß-/Kleinschreibung und Leerraum Suchen und ersetzen String-Objekte mit Konstruktoren neu anlegen Konvertieren zwischen Primitiven und Strings Unterschiedliche Typen in Zeichenketten konvertieren String in primitives Element konvertieren Veränderbare Zeichenketten mit StringBuffer/StringBuilder Anlegen von StringBuffer/StringBuilder-Objekten Die Länge eines StringBuffer/-Builder-Objekts Daten anhängen Zeichen(folgen) setzen, erfragen, löschen und umdrehen Vergleichen von String/StringBuffer/StringBuilder hashcode() bei StringBuffer/StringBuilder Sprachabhängiges Vergleichen und Normalisierung Die Klasse Collator Effiziente interne Speicherung für die Sortierung Normalisierung Reguläre Ausdrücke Die Klassen Pattern und Matcher Mit MatchResult alle Ergebnisse einsammeln

8 Inhalt 4.7 Zerlegen von Zeichenketten Splitten von Zeichenketten mit split() split() in Pattern Die Klasse Scanner StringTokenizer BreakIterator als Zeichen-, Wort-, Zeilen- und Satztrenner Zeichenkodierungen und Base Über die Klasse String Kodierungen vornehmen Konvertieren mit OutputStreamWriter-Klassen Das Paket java.nio.charset Base64-Kodierung Formatieren von Ausgaben Formatieren mit format() aus String Die Format-Klassen im Überblick Zahlen, Prozente und Währungen mit NumberFormat und DecimalFormat formatieren Ausgaben mit MessageFormat formatieren Zum Weiterlesen Mathematisches Repräsentation ganzer Zahlen das Zweierkomplement Fließkommaarithmetik in Java Mantisse und Exponent Spezialwerte Unendlich, Null, NaN Wertebereich eines Typs und Überlaufkontrolle Behandlung des Überlaufs Die Eigenschaften der Klasse Math Attribute Absolutwerte und Maximum/Minimum Winkelfunktionen Runden von Werten Wurzel und Exponentialfunktionen Der Logarithmus Rest der ganzzahligen Division Zufallszahlen Mathe bitte strikt Strikt Fließkomma mit strictfp Die Klassen Math und StrictMath Die Random-Klasse Objekte aufbauen und der Seed Zufallszahlen erzeugen Pseudo-Zufallszahlen in der Normalverteilung

9 Inhalt 5.7 Große Zahlen Die Klasse BigInteger Funktionen von BigInteger Ganz lange Fakultäten Große Fließkommazahlen mit BigDecimal Mit MathContext komfortabel die Rechengenauigkeit setzen Zum Weiterlesen Eigene Klassen schreiben Eigene Klassen mit Eigenschaften deklarieren Attribute deklarieren Methoden deklarieren Die this-referenz Privatsphäre und Sichtbarkeit Für die Öffentlichkeit: public Paketsichtbar Kein Public Viewing Passwörter sind privat Wieso nicht freie Methoden und Variablen für alle? Privat ist nicht ganz privat: Es kommt darauf an, wer s sieht Zugriffsmethoden für Attribute deklarieren Setter und Getter nach der JavaBeans-Spezifikation Statische Methoden und statische Attribute Warum statische Eigenschaften sinnvoll sind Statische Eigenschaften mit static Statische Eigenschaften über Referenzen nutzen? Warum die Groß- und Kleinschreibung wichtig ist Statische Eigenschaften und Objekteigenschaften Statische Variablen zum Datenaustausch Statische Blöcke als Klasseninitialisierer Konstanten und Aufzählungen Konstanten über öffentliche statische finale Variablen Eincompilierte Belegungen der Klassenvariablen Typ(un)sicherere Aufzählungen Aufzählungen mit enum Objekte anlegen und zerstören Konstruktoren schreiben Der Standard-Konstruktor Parametrisierte und überladene Konstruktoren Konstruktor nimmt ein Objekt vom eigenen Typ an (Copy-Konstruktor) Einen anderen Konstruktor der gleichen Klasse aufrufen Initialisierung der Objekt- und Klassenvariablen

10 Inhalt Finale Werte im Konstruktor und in statischen Blöcken setzen Exemplarinitialisierer (Instanzinitialisierer) Ihr fehlt uns nicht der Garbage-Collector Implizit erzeugte String-Objekte Private Konstruktoren, Utility-Klassen, Singleton, Fabriken Assoziationen zwischen Objekten Unidirektionale 1:1-Beziehung Bidirektionale 1:1-Beziehungen Unidirektionale 1:n-Beziehung Vererbung Vererbung in Java Spielobjekte modelliert Einfach- und Mehrfachvererbung Sichtbarkeit protected Konstruktoren in der Vererbung und super Automatische und explizite Typanpassung Das Substitutionsprinzip Typen mit dem binären Operator instanceof testen Methoden überschreiben Mit super an die Eltern Kovariante Rückgabetypen Array-Typen und Kovarianz Zusammenfassung zur Sichtbarkeit Dynamisches Binden Unpolymorph bei privaten, statischen und finalen Methoden Polymorphie bei Konstruktoraufrufen Finale Klassen Nicht überschreibbare (finale) Methoden Abstrakte Klassen und abstrakte Methoden Abstrakte Klassen Abstrakte Methoden Schnittstellen Deklarieren von Schnittstellen Implementieren von Schnittstellen Markierungsschnittstellen Ein Polymorphie-Beispiel mit Schnittstellen Die Mehrfachvererbung bei Schnittstellen Keine Kollisionsgefahr bei Mehrfachvererbung Erweitern von Interfaces Subinterfaces Vererbte Konstanten bei Schnittstellen Schnittstellenmethoden, die nicht implementiert werden müssen Abstrakte Klassen und Schnittstellen im Vergleich

11 Inhalt 6.11 Geschachtelte (innere) Klassen, Schnittstellen, Aufzählungen Statische innere Klassen und Schnittstellen Mitglieds- oder Elementklassen Lokale Klassen Anonyme innere Klassen this und Vererbung Generische Datentypen Einfache Klassenschablonen Einfache Methodenschablonen Umsetzen der Generics, Typlöschung und Raw-Types Einschränken der Typen Generics und Vererbung, Invarianz Wildcards Die Spezial-Oberklasse Enum Methoden auf Enum-Objekten enum mit eigenen Konstruktoren und Methoden Dokumentationskommentare mit JavaDoc Einen Dokumentationskommentar setzen Mit javadoc eine Dokumentation erstellen HTML-Tags in Dokumentationskommentaren Generierte Dateien Dokumentationskommentare im Überblick JavaDoc und Doclets Veraltete (deprecated) Klassen, Konstruktoren und Methoden Angewandte Objektorientierung Schnittstellen in der Anwendung CharSequence als Beispiel einer Schnittstelle Die Schnittstelle Iterable Funktionszeiger Implementierung einer verketteten Liste Design-Pattern (Entwurfsmuster) Design-Pattern Das Beobachter-Pattern (Observer/Observable) Ereignisse über Listener Multicast und Unicast JavaBean Properties (Eigenschaften) Einfache Eigenschaften Indizierte Eigenschaften Gebundene Eigenschaften Veto-Eigenschaften dagegen!

12 Inhalt 8 Exceptions Problembereiche einzäunen Exceptions in Java mit try und catch Eine Datei mit RandomAccessFile auslesen Ablauf einer Ausnahmesituation Wiederholung abgebrochener Bereiche throws im Methodenkopf angeben Abschlussbehandlung mit finally Nicht erreichbare catch-klauseln Die Klassenhierarchie der Fehler Die Exception-Hierarchie Oberausnahmen auffangen Alles geht als Exception durch RuntimeException muss nicht aufgefangen werden Harte Fehler: Error Auslösen eigener Exceptions Mit throw Ausnahmen auslösen Neue Exception-Klassen deklarieren Abfangen und Weiterleiten Geschachtelte Ausnahmen Rückgabewerte bei ausgelösten Ausnahmen Der Stack-Trace Stack-Trace erfragen Assertions Assertions in eigenen Programmen nutzen Assertions aktivieren Die Funktionsbibliothek Die Java-Klassenphilosophie Übersicht über die Pakete der Standardbibliothek Object ist die Mutter aller Oberklassen Klassenobjekte Objektidentifikation mit tostring() Objektgleichheit mit equals() und Identität Klonen eines Objekts mit clone() Hashcodes über hashcode() liefern Aufräumen mit finalize() Synchronisation Klassenlader (Class Loader) Woher die kleinen Klassen kommen Setzen des Klassenpfades

13 Inhalt Die wichtigsten drei Typen von Klassenladern Der java.lang.classloader Hot Deployment mit dem URL-ClassLoader Das jre/lib/endorsed-verzeichnis getcontextclassloader() vom Thread Die Utility-Klasse System und Properties Systemeigenschaften der Java-Umgebung line.separator Browser-Version abfragen Property von der Konsole aus setzen Umgebungsvariablen des Betriebssystems Einfache Zeitmessung und Profiling Ausführen externer Programme und Skripte ProcessBuilder und Prozesskontrolle mit Process Einen Browser/ -Client/Editor aufrufen Ausführen von Skripten Benutzereinstellungen Benutzereinstellungen in Windows-Registry oder XML-Dokumenten Einträge einfügen, auslesen und löschen Auslesen der Daten und Schreiben in anderem Format Auf Ereignisse horchen Zugriff auf die gesamte Windows-Registry Musik abspielen Die Arbeit mit AudioClip Java Sound API Annotationen @SuppressWarnings Common Annotations Annotationen für Web-Services Annotationen für XML-Mapping Zum Weiterlesen Threads und nebenläufige Programmierung Nebenläufigkeit Threads und Prozesse Wie parallele Programme die Geschwindigkeit steigern können Was Java für Nebenläufigkeit alles bietet Threads erzeugen Threads über die Schnittstelle Runnable implementieren

14 Inhalt Thread mit Runnable starten Der Name eines Threads Die Klasse Thread erweitern Wer bin ich? Die Zustände eines Threads Threads schlafen Mit yield() auf Rechenzeit verzichten Das Ende eines Threads UncaughtExceptionHandler für unbehandelte Ausnahmen Einen Thread höflich mit Interrupt beenden Der stop() von außen und die Rettung mit ThreadDeath Ein Rendezvous mit join() Barrier und Austausch mit Exchanger Arbeit niederlegen und wieder aufnehmen Priorität Der Thread ist ein Dämon Der Ausführer (Executor) kommt Die Schnittstelle Executor Die Thread-Pools Threads mit Rückgabe über Callable Mehrere Callable abarbeiten Mit ScheduledExecutorService wiederholende Ausgaben und Zeitsteuerungen Synchronisation über kritische Abschnitte Gemeinsam genutzte Daten Probleme beim gemeinsamen Zugriff und kritische Abschnitte Punkte parallel initialisieren i++ sieht atomar aus, ist es aber nicht Kritische Abschnitte schützen Schützen mit ReentrantLock Synchronisieren mit synchronized Synchronized-Methoden der Klasse StringBuffer Mit synchronized synchronisierte Blöcke Dann machen wir doch gleich alles synchronisiert! Lock-Freigabe im Fall von Exceptions Mit synchronized nachträglich synchronisieren Monitore sind reentrant gut für die Geschwindigkeit Synchronisierte Methodenaufrufe zusammenfassen Deadlocks Synchronisation über Warten und Benachrichtigen Die Schnittstelle Condition Beispiel: Erzeuger-Verbraucher-Programm

15 Inhalt Warten mit wait() und Aufwecken mit notify() Falls der Lock fehlt: IllegalMonitorStateException Semaphor Atomare Operationen und frische Werte mit volatile Der Modifizierer volatile bei Objekt-/Klassenvariablen Das Paket java.util.concurrent.atomic Mit dem Thread verbundene Variablen ThreadLocal InheritableThreadLocal Gruppen von Threads in einer Thread-Gruppe Aktive Threads in der Umgebung Etwas über die aktuelle Thread-Gruppe herausfinden Threads in einer Thread-Gruppe anlegen Methoden von Thread und ThreadGroup im Vergleich Zeitgesteuerte Abläufe Die Klassen Timer und TimerTask Job-Scheduler Quartz Einen Abbruch der virtuellen Maschine erkennen Zum Weiterlesen Raum und Zeit Weltzeit Wichtige Datum-Klassen im Überblick Sprachen der Länder Sprachen und Regionen über Locale-Objekte Internationalisierung und Lokalisierung ResourceBundle-Objekte und Ressource-Dateien Ressource-Dateien zur Lokalisierung Die Klasse ResourceBundle Ladestrategie für ResourceBundle-Objekte Zeitzonen Zeitzonen durch die Klasse TimeZone repräsentieren Die Klasse Date Objekte erzeugen und Methoden nutzen Calendar und GregorianCalendar Die abstrakte Klasse Calendar Der gregorianische Kalender Ostertage Abfragen und Setzen von Datumselementen Formatieren und Parsen von Datumsangaben Ausgaben mit printf() Mit DateFormat und SimpleDateFormat formatieren

16 Inhalt Parsen von Datumswerten Zum Weiterlesen Datenstrukturen und Algorithmen Datenstrukturen und die Collection-API Designprinzip mit Schnittstellen, abstrakten Klassen, konkreten Klassen Die Basis-Schnittstellen Collection und Map Das erste Programm mit Container-Klassen Die Schnittstelle Collection Schnittstellen, die Collection erweitern, und Map Konkrete Container-Klassen Welche Klasse nehmen? Generische Datentypen in der Collection-API Die Schnittstelle Iterable und das erweiterte for Mit einem Iterator durch die Daten wandern Die Schnittstellen Enumeration und Iterator Iteratoren von Sammlungen und das erweiterte for Fail-Fast Iterator und die ConcurrentModificationException Listen ArrayList oder LinkedList? Speicherung im Feld oder in einer verketteten Liste Die Schnittstelle List ArrayList LinkedList Der Feld-Adapter Arrays.asList() toarray() von Collection verstehen die Gefahr einer Falle erkennen Primitive Elemente in den Collection-Datenstrukturen Vergleichen von Objekten Die Schnittstellen Comparator und Comparable Algorithmen mit Such- und Sortiermöglichkeiten Den größten und kleinsten Wert einer Collection finden Sortieren Mengen (Sets) HashSet TreeSet die Menge durch Bäume LinkedHashSet Stack (Kellerspeicher, Stapel) Die Methoden von Stack Ein Stack ist ein Vector aha!

17 Inhalt 12.7 Queues (Schlangen) und Deques Die Schnittstelle Queue Blockierende Queues und Prioritätswarteschlangen Deque-Klassen Assoziative Speicher Die Klassen HashMap und TreeMap Einfügen und Abfragen der Datenstruktur Die Bedeutung von equals(), hashcode() und IdentityHashMap Elemente im Assoziativspeicher müssen unveränderbar bleiben Aufzählungen und Sichten auf den Assoziativspeicher Der Gleichheitstest, Hash-Wert und Klon einer Hash-Tabelle Die Arbeitsweise einer Hash-Tabelle Multi-Maps Die Properties-Klasse Properties setzen und lesen Properties verketten Eigenschaften ausgeben Hierarchische Eigenschaften Properties speichern Klassenbeziehungen: Properties und Hashtable Algorithmen in Collections Listenoperationen: Ersetzen, Kopieren, Füllen, Umdrehen, Rotieren, Durchmischen Mit der Halbierungssuche nach Elementen fahnden Nicht-änderbare Datenstrukturen Häufigkeit eines Elements ncopies() Singletons Synchronisation der Datenstrukturen Lock-Free-Algorithmen aus java.util.concurrent Wrapper zur Synchronisation CopyOnWriteArrayList und CopyOnWriteArraySet Die Klasse BitSet für Bitmengen Ein BitSet anlegen, füllen und erfragen Mengenorientierte Operationen Funktionsübersicht Primzahlen in einem BitSet verwalten

18 Inhalt 13 Dateien und Datenströme Datei und Verzeichnis Dateien und Verzeichnisse mit der Klasse File Verzeichnis oder Datei? Existiert es? Verzeichnis- und Dateieigenschaften/-attribute Wurzelverzeichnis, Laufwerksnamen, Plattenspeicher Umbenennen und Verzeichnisse anlegen Verzeichnisse listen und Dateien filtern Dateien berühren, neue Dateien anlegen, temporäre Dateien Dateien und Verzeichnisse löschen Verzeichnisse nach Dateien iterativ durchsuchen URL- und URI-Objekte aus einem File-Objekt ableiten Mit Locking Dateien sperren Sicherheitsprüfung Mime-Typen mit dem JavaBeans Activation Framework (JAF) Zugriff auf SMB-Server mit jcifs Dateien mit wahlfreiem Zugriff Ein RandomAccessFile zum Lesen und Schreiben öffnen Aus dem RandomAccessFile lesen Schreiben mit RandomAccessFile Die Länge des RandomAccessFile Hin und her in der Datei Wahlfreier Zugriff und Pufferung mit Unified I/O Stream-Klassen und Reader/Writer am Beispiel von Dateien Mit dem FileWriter Texte in Dateien schreiben Zeichen mit der Klasse FileReader lesen Kopieren mit FileOutputStream und FileInputStream Das FileDescriptor-Objekt Basisklassen für die Ein-/Ausgabe Die abstrakten Basisklassen Übersicht über Ein-/Ausgabeklassen Die abstrakte Basisklasse OutputStream Die Schnittstellen Closeable und Flushable Ein Datenschlucker Die abstrakte Basisklasse InputStream Ressourcen wie Grafiken aus dem Klassenpfad und aus Jar-Archiven laden Ströme mit SequenceInputStream zusammensetzen Die abstrakte Basisklasse Writer Die Schnittstelle Appendable Die abstrakte Basisklasse Reader

19 Inhalt 13.5 Formatierte Textausgaben Die Klassen PrintWriter und PrintStream System.out, System.err und System.in Geschützte Passwort-Eingaben mit der Klasse Console Schreiben und Lesen aus Strings und Byte-Feldern Mit dem StringWriter ein String-Objekt füllen CharArrayWriter StringReader und CharArrayReader Mit ByteArrayOutputStream in ein Byte-Feld schreiben Mit ByteArrayInputStream aus einem Byte-Feld lesen Datenströme filtern und verketten Streams als Filter verketten Gepufferte Ausgaben mit BufferedWriter und BufferedOutputStream Gepufferte Eingaben mit BufferedReader und BufferedInputStream LineNumberReader zählt automatisch Zeilen mit Daten mit der Klasse PushbackReader zurücklegen DataOutputStream/DataInputStream Basisklassen für Filter Die Basisklasse FilterWriter Ein LowerCaseWriter Eingaben mit der Klasse FilterReader filtern Vermittler zwischen Byte-Streams und Unicode-Strömen Datenkonvertierung durch den OutputStreamWriter Automatische Konvertierungen mit dem InputStreamReader Kommunikation zwischen Threads mit Pipes PipedOutputStream und PipedInputStream PipedWriter und PipedReader Datenkompression Java-Unterstützung beim Komprimieren und Zusammenpacken Datenströme komprimieren Zip-Archive Jar-Archive Prüfsummen Die Schnittstelle Checksum Die Klasse CRC Die Adler32-Klasse Persistente Objekte und Serialisierung Objekte mit der Standard-Serialisierung speichern und lesen Zwei einfache Anwendungen der Serialisierung Die Schnittstelle Serializable

20 Inhalt Nicht serialisierbare Attribute aussparen Das Abspeichern selbst in die Hand nehmen Tiefe Objektkopien Versionenverwaltung und die SUID Wie die ArrayList serialisiert Probleme mit der Serialisierung Serialisieren in XML-Dateien JavaBeans Persistence XStream Tokenizer StreamTokenizer CSV-(Comma Separated Values-)Dateien verarbeiten Zum Weiterlesen Die extensible Markup Language (XML) Auszeichnungssprachen Die Standard Generalized Markup Language (SGML) Extensible Markup Language (XML) Eigenschaften von XML-Dokumenten Elemente und Attribute Beschreibungssprache für den Aufbau von XML-Dokumenten Schema eine Alternative zu DTD Namensraum (Namespace) XML-Applikationen Die Java-APIs für XML Das Document Object Model (DOM) Simple API for XML Parsing (SAX) Pull-API StAX Java Document Object Model (JDOM) JAXP als Java-Schnittstelle zu XML DOM-Bäume einlesen mit JAXP Serielle Verarbeitung mit StAX Unterschiede der Verarbeitungsmodelle XML-Dateien mit dem Cursor-Verfahren lesen XML-Dateien mit dem Iterator-Verfahren verarbeiten Mit Filtern arbeiten XML-Dokumente schreiben Serielle Verarbeitung von XML mit SAX Schnittstellen von SAX SAX-Parser erzeugen Die wichtigsten Methoden der Schnittstelle ContentHandler ErrorHandler und EntityResolver

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter sverzeichnis Fritz Jobst Programmieren in Java ISBN: 978-3-446-41771-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41771-7 sowie im Buchhandel. Carl Hanser Verlag, München

Mehr

Programmieren in Java

Programmieren in Java Fritz Jobst Programmieren in Java 6., vollständig überarbeitete Auflage HANSER i.--li. h"--v Inhalt Vorwort XI 1 Der Einstieg in Java 1 1.1 Erstellung und Ablauf von Programmen in Java 2 1.2 Das erste

Mehr

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter

Inhaltsverzeichnis. Fritz Jobst. Programmieren in Java ISBN: 978-3-446-41771-7. Weitere Informationen oder Bestellungen unter sverzeichnis Fritz Jobst Programmieren in Java ISBN: 978-3-446-41771-7 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41771-7 sowie im Buchhandel. Carl Hanser Verlag, München

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

Java Programmierung Grundlagen

Java Programmierung Grundlagen Seminarunterlage Version: 4.11 Version 4.11 vom 22. Dezember 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

Java ist auch eine Insel

Java ist auch eine Insel Christian Ullenboom Java ist auch eine Insel Programmieren mit der Java Standard Edition Version 6 Galileo Press Vorwort 39 1 Java ist auch eine Sprache 1.1 Der erste Kontakt 53 1.2 Historischer Hintergrund

Mehr

Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java Objektorientierte Programmierung in Java 1. Auflage Objektorientierte Programmierung in Java schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag C.H. Beck im Internet:

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Dietmar Ratz Jens Scheffler Detlef Seese Jan Wiesenberger Grundkurs Programmieren in Java 5., überarbeitete Auflage HANSER Inhaltsverzeichnis Vorwort 15 1 Einleitung 17 1.1 Java - mehr als nur kalter Kaffee?

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java von Fritz Jobst 5., überarbeitete Auflage Hanser München 2005 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 40401 4 Zu Leseprobe schnell und portofrei erhältlich bei beck-shop.de

Mehr

Programmieren in Java

Programmieren in Java Fritz Jobst Programmieren in Java 2., aktualisierte und erweiterte Auflage Technische Universität Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK Inventar-Nr.: Y?\V OQ^S \ Sachgebiete: Standort: ', Carl Hanser

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Java 6 Programmierhandbuch ntwickier

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

Mehr

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53

Inhaltsverzeichnis. 2.2 Grundlagen der UML... 41. 2.3 Zusammenfassung... 53 Vorwort......................................................... 13 1 Vorbereitungen.................................................. 17 1.1 JDK-Installation unter Windows................................

Mehr

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139

1 Einführung... 13. 2 Erste Schritte... 19. 3 Programmierkurs... 33. 4 Datentypen... 81. 5 Weiterführende Programmierung... 139 Auf einen Blick 1 Einführung... 13 2 Erste Schritte... 19 3 Programmierkurs... 33 4 Datentypen... 81 5 Weiterführende Programmierung... 139 6 Objektorientierte Programmierung... 191 7 Verschiedene Module...

Mehr

Swing :Komponenten I (Teil 2)

Swing :Komponenten I (Teil 2) l Bei Swing handelt es sich um eine Programmierschnittstelle und Grafikbibliothek zum Programmieren von grafischen Benutzeroberflächen l Swing stellt eine Menge von Klassen zur Verfügung l Swing wurde

Mehr

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage

DAS EINSTEIGERSEMINAR PHP 5.3 LERNEN ÜBEN ANWENDEN. Oliver Leiss Jasmin Schmidt. 3. Auflage DAS EINSTEIGERSEMINAR PHP 5.3 Oliver Leiss Jasmin Schmidt 3. Auflage LERNEN ÜBEN ANWENDEN Vorwort... 13 Einleitung... 15 Was ist PHP?... 15 PHP gezielt einsetzen... 16 Neuerungen in PHP 5.3... 16 Der Umgang

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

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv

Alexander Niemann. Das Einsteigerseminar Objektorientierte Programmierung in Java. bhv Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java G bhv Inhaltsverzeichnis Vorwort 11 Einleitung 13 Lernen - Üben 13 Über dieses Buch 14 Ш11ШШШШ '. ш Ш Java 19 Die Geschichte

Mehr

Konzepte, Grundlagen und Erweiterungen in 5.0

Konzepte, Grundlagen und Erweiterungen in 5.0 Vasu Chandrasekhara Andreas Eberhart Horst Hellbrück Stefan Kraus Ulrich Walther Java 5-0 Konzepte, Grundlagen und Erweiterungen in 5.0 HANSER Inhaltsverzeichnis 1 Einführung in Java 1 1.1 Motivation 1

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

Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis

Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis Vorlesung Modellierung und Programmierung I Inhaltsverzeichnis Teil I Imperative Programmierung 0 Maschinenzahlen... 2 0.1 Additionssysteme...2 0.2 Positionssysteme...2 0.3 Dezimal- und Dualsystem...3

Mehr

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp

Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden. mitp Ulla Kirch Peter Prinz C+ + Lernen und professionell anwenden mitp Inhaltsverzeichnis Einleitung 19 Grundlagen 21 Entwicklung und Eigenschaften von C++ 22 Objektorientierte Programmierung 24 Erstellen

Mehr

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer) Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und

Mehr

Java 7 Mehr als eine Insel

Java 7 Mehr als eine Insel Christian Ullenboom Java 7 Mehr als eine Insel Das Handbuch zu den Java SE-Bibliotheken Auf einen Blick 1 Neues in Java 7... 41 2 Threads und nebenläufige Programmierung... 65 3 Datenstrukturen und Algorithmen...

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

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

Java I Vorlesung 11 Graphische Oberflächen mit Swing

Java I Vorlesung 11 Graphische Oberflächen mit Swing Java I Vorlesung 11 Graphische Oberflächen mit Swing 5.7.2004 Swing Komponenten Layout-Manager Events Swing und Threads Die Java-Plattform 2 Die Java-Plattform 3 "Hello World" in Swing HelloWorldS.java

Mehr

Inhalt. Teil I: Der Sprachkern von JavaScript

Inhalt. Teil I: Der Sprachkern von JavaScript Inhalt Vorwort.... 1 Einführung in JavaScript... 1 1.1 Der JavaScript-Sprachkern... 4 1.2 Clientseitiges JavaScript... 9 Teil I: Der Sprachkern von JavaScript 2 Die lexikalische Struktur... 21 2.1 Zeichensatz...

Mehr

Grundkurs Programmieren in Java

Grundkurs Programmieren in Java Grundkurs Programmieren in Java Dietmar Ratz, Detlef Seese, Jan Wiesenberger, Jens Scheffler Band 2: Einführung in die Programmierung kommerzieller Systeme ISBN 3-446-40494-5 Inhaltsverzeichnis Weitere

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

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Die Programmiersprache Java. www.kit.edu. Institut für Angewandte Informatik Programmieren I Die Programmiersprache Java KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Eigenschaften von Java Java ist eine

Mehr

ecommerce Websites Entwicklung erfolgreicher Web-Auftritte mit Java, JavaScript, HTML, XML und SQL Vivek Sharma Rajiv Sharma ADDISON-WESLEY

ecommerce Websites Entwicklung erfolgreicher Web-Auftritte mit Java, JavaScript, HTML, XML und SQL Vivek Sharma Rajiv Sharma ADDISON-WESLEY Vivek Sharma Rajiv Sharma 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. ecommerce Websites wo Entwicklung erfolgreicher

Mehr

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen...

Dataport IT Bildungs- und Beratungszentrum. HTML- Grundlagen und CSS... 2. XML Programmierung - Grundlagen... 3. PHP Programmierung - Grundlagen... Inhalt HTML- Grundlagen und CSS... 2 XML Programmierung - Grundlagen... 3 PHP Programmierung - Grundlagen... 4 Java - Grundlagen... 5 Java Aufbau... 6 ASP.NET Programmierung - Grundlagen... 7 1 HTML- Grundlagen

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

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23

Teil A Einführung in Microsoft Visual C# und Microsoft Visual Studio 2008 23 Einleitung 13 Einführung 13 An wen sich dieses Buch richtet 13 Wegweiser für Ein- und Umsteiger 14 Konventionen und Features in diesem Buch 15 Konventionen 15 Weitere Features 16 Systemvoraussetzungen

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 7. Grafische Benutzeroberflächen 1 Kapitel 7 Ziele 2 (Graphical User Interfaces) als Anwendungsbeispiel für die objektorientierte Programmierung kennenlernen Benutzung von Vererbung zur Erstellung individueller GUI-Klassen durch Erweiterung

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

XML und Datenbanken

<Trainingsinhalt> XML und Datenbanken XML und Datenbanken i training Inhaltsverzeichnis Vorwort 11 Kapitel 1 XML 13 1.1 Voraussetzungen für XML 14 1.2 Allgemeines 14 1.3 Migration von HTML zu XML 16 1.4 Argumente für XML

Mehr

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6

Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011. Übungen zur Vorlesung Informatik II, Blatt 6 WS 2011/12 Fakultät Angewandte Informatik Programmierung verteilter Systeme 28.11.2011 Prof. Dr. Bernhard Bauer Übungen zur Vorlesung Informatik II, Blatt 6 Abgabe: Montag, 05.12.2011, 12.00 Uhr, Informatik

Mehr

Java - Webapplikationen

Java - Webapplikationen Java - Webapplikationen Bestandteile (HTTP,, JSP) Aufbau (Model View Controller) Datenverwaltung (Java Beans, Sessions) Entwicklung (Projektstruktur, Sysdeoplugin für Eclipse) 17. Januar 2006 Jan Hatje

Mehr

von Anja Austermann Drag and Drop

von Anja Austermann Drag and Drop von Anja Austermann Drag and Drop »Drag and Drop«ist die Bezeichnung für den Datentransfer zwischen unterschiedlichen Anwendungen mit grafischer Benutzeroberfläche. Zur Zeit arbeitet Drag and Drop in Java

Mehr

Liste Programmieren Java Überblick

Liste Programmieren Java Überblick Liste Programmieren Java Überblick 1 Was ist Java? 2 Klassen und Objekte 3 Vererbung 4 Schnittstellen 5 Innere Klassen 6 Exceptions 8 Datenstrukturen und Algorithmen 9 Ein-/Ausgabe 10 Threads 11 GUI-Programmierung

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 8 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Vererbung Vererbung Statischer Typ Dynamischer Typ 2 Polymorphie Overloading: Methoden überladen Overriding:

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

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

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

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

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

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 2. Objektorientierte Programmierung Christian Scheible Institut für Maschinelle Sprachverarbeitung 28. Juli 2009 Christian Scheible Java für Computerlinguisten 28. Juli 2009

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

Auf einen Blick. Auf einen Blick

Auf einen Blick. Auf einen Blick Auf einen Blick Auf einen Blick 1 Neues in Java 8 und Java 7... 43 2 Fortgeschrittene String-Verarbeitung... 121 3 Threads und nebenläufige Programmierung... 177 4 Datenstrukturen und Algorithmen... 275

Mehr

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung.

Vererbung. Vererbung von Methoden und Instanzvariablen. Vererbung als Realisierung einer is-a Beziehung. Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik II: Objektorientierte SW-Entwicklung,

Mehr

1. Der Einstieg in Java. Was heißt Programmieren?

1. Der Einstieg in Java. Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung

Mehr

Die Core-Tags. Die Core-Tags werden über den Tag Lib Desktiptor c.tld beschrieben und bekommen den Namensraum c zugewiesen.

Die Core-Tags. Die Core-Tags werden über den Tag Lib Desktiptor c.tld beschrieben und bekommen den Namensraum c zugewiesen. Die Core-Tags Core-Tags einbinden Die Core-Tags werden über den Tag Lib Desktiptor c.tld beschrieben und bekommen den Namensraum c zugewiesen. Es gibt kaum einen Grund, diesen Namensraum zu ändern!

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung Kapitel 6 Vererbung Vererbung 1 Ziele Das Vererbungsprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen

Mehr

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte Webprogrammierung SVEN LETZEL FRIEDHELM BETZ Inhaltsverzeichnis jetzt lerne ich Hallo! 15 1 Grundlagen 17 1.1 Das Internet

Mehr

Michael Weigend. Python GE-PACKT. 5. Auflage

Michael Weigend. Python GE-PACKT. 5. Auflage Michael Weigend Python GE-PACKT 5. Auflage E Einleitung 13 E.i Was ist Python? 13 E.2 Einige besondere Merkmale von Python 13 E.3 Python 2 und 3 14 E.4 Hinweise zum Lesen dieses Buches 15 1 Basiskonzepte

Mehr

C#.NET mit Methode. Professionelle Software entwickeln mit C# und.net: Grundlagen, Windows, ADO.NET, ASP.NET und Remoting. vieweg.

C#.NET mit Methode. Professionelle Software entwickeln mit C# und.net: Grundlagen, Windows, ADO.NET, ASP.NET und Remoting. vieweg. Heinrich Rottmann 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. C#.NET mit Methode Professionelle Software entwickeln

Mehr

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter

Remote- und Server-Programmierung. Dr. Wolfgang Süß Thorsten Schlachter Remote- und Server-Programmierung Dr. Wolfgang Süß Thorsten Schlachter Remote Method Invocation (RMI) Servlets WebServices 2 Remote Method Invocation (RMI) Das Remote Method Invocation (RMI)-Framework

Mehr

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik

Programmieren II. Remote-Programmierung. www.kit.edu. Institut für Angewandte Informatik Programmieren II Remote-Programmierung KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Remote-Programmierung Remote Method Invocation

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte 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/

Mehr

Programmieren mit Swing

Programmieren mit Swing Jürgen Schlierf Rudolf Weber Programmieren mit Swing Einfuhrung in die Programmierung mit den Swing-Klassen in Java 2 HANSER Carl Hanser Verlag München Wien Inhaltsverzeichnis 1 Einleitung 1 1.1 Von Java

Mehr

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

Java Schulung (Java 2 Java Development Kit 5 / 6) 2. Grundlagen der Objektorientierung 2.1 Klassen, Attribute, Methoden Klassen Eine Klasse beschreibt als Bauplan Gemeinsamkeiten einer Menge von Objekten ist also ein Modell, auf dessen Basis Objekte erstellt

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure

7. Objektorientierte Softwareentwicklung/3. Informatik II für Verkehrsingenieure 7. Objektorientierte Softwareentwicklung/3 Informatik II für Verkehrsingenieure Überblick FOLGENDE BEGRIFFE/PRINZIPIEN SOLLTEN BEKANNT SEIN Objekte Klasse Attribute Fähigkeiten ZIEL DER HEUTIGEN LEHRVERANSTALTUNG

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

XML und Datenbanken. Die Schnittstellen von Access und SQL Server professionell nutzen. new technology. Uwe Hess. Markt+Technik Verlag

XML und Datenbanken. Die Schnittstellen von Access und SQL Server professionell nutzen. new technology. Uwe Hess. Markt+Technik Verlag XML und Datenbanken Die Schnittstellen von Access und SQL Server professionell nutzen Uwe Hess new technology Markt+Technik Verlag Inhaltsverzeichnis Kapitel Vorwort 11 Kapitel 1 XML 13 1.1 Voraussetzungen

Mehr

JSP und Servlet Programmierung

JSP und Servlet Programmierung Seminarunterlage Version: 5.02 Copyright Version 5.02 vom 1. März 2013 Dieses Dokument wird durch die veröffentlicht. Copyright. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

PHP Programmierung. Seminarunterlage. Version 1.02 vom

PHP Programmierung. Seminarunterlage. Version 1.02 vom Seminarunterlage Version: 1.02 Version 1.02 vom 27. August 2013 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen

Mehr

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden

VIII: Vererbung. Unterklassen einer Klasse. Vererbung von Methoden und Instanzvariablen. Überschreiben von Methoden VIII: Vererbung Unterklassen einer Klasse Vererbung von Methoden und Instanzvariablen Überschreiben von Methoden Vererbung als Realisierung einer is-a Beziehung. Informatik I VIII: Vererbung 259 Beispiel:

Mehr

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2

Abteilung Informatik, JFC/Swing 2004 Diego Schmidlin V2.2 Inhalt 1. Drag and Drop (DnD) 1. Transfer-Mechanismus 2. Transfer-Support 3. Cursor-Symbole 4. Einführendes Beispiel 5. Komponenten DnD-fähig machen 6. Standard DnD-Verhalten ändern Folie 1 Lernziele Sie

Mehr

Android will doch nur spielen. Java Eine kurze Einführung

Android will doch nur spielen. Java Eine kurze Einführung Android will doch nur spielen Java Eine kurze Einführung Agenda Einführung in Java Syntax und Semantik Komplexe Datenstrukturen OOP Weitere Java-Elemente 2 Einführung in Java Was ist Java? lt. Sun: einfach

Mehr

Swing Lernen am Code Teil 1

Swing Lernen am Code Teil 1 Swing Lernen am Code Teil 1 Swing Fenster erzeugen import java.awt.* import java.awt.event.* import javax.swing.* class SwingDemo{ static JFrame Fenster; public static void main(string[] args){ } } Fenster

Mehr

Einführung in Javadoc

Einfü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:

Mehr

Ein erstes Java-Programm

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

Mehr

7. Pakete Grundlagen der Programmierung 1 (Java)

7. 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.

Mehr

Inhaltsverzeichnis. Einleitung... 13

Inhaltsverzeichnis. Einleitung... 13 Inhaltsverzeichnis Einleitung...................................................... 13 Einführung 13 Wegweiser für Ein- und Umsteiger..................................... 13 Konventionen und Features in

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

Inhalt. Vorwort 11. Steyer, Ralph JavaFX 2008. digitalisiert durch: IDS Basel Bern

Inhalt. Vorwort 11. Steyer, Ralph JavaFX 2008. digitalisiert durch: IDS Basel Bern Vorwort 11 1 Einleitung und Vorbereitung 15 1.1 Worum es in diesem Buch geht 17 1.2 Schreibkonventionen 18 1.3 Werichbin 19 1.4 Wer sind Sie, beziehungsweise an wen wendet sich das Buch? 20 1.5 WasbenôtigenSie?

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Microsoft Visual C# 2008

Microsoft Visual C# 2008 John Sharp 13 Microsoft Visual C# 2008 Schritt für Schritt 13 13 14 15 15 16 16 17 17 17 21 22 22 23 25 26 II 40 51 Press 53 54 54 55 55 56 56 57 58 63 63 64 Inhaltsverzeichnis Einleitung 13 Einführung

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

Einfü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 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

Mehr

Serie 3: Designbeschreibung Verantwortlich für Rose-Projekt und Designbeschreibungen Dang, Quoc Anh / Phan, Ngoc Diep / Xiongjie Ding

Serie 3: Designbeschreibung Verantwortlich für Rose-Projekt und Designbeschreibungen Dang, Quoc Anh / Phan, Ngoc Diep / Xiongjie Ding DESIGNBESCHREIBUNG. 1. Allgemeines.? GeoViewer ist eine menügesteuerte graphische Java-Applikation. VonGEO-Record wird die vordefinierte geometrische Konfiguration geladen, im GeoProver-Paket berechnet

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

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

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. 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

Mehr

Große Übung Praktische Informatik 1

Groß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,

Mehr

GUI Programmierung mit JAVA Swing

GUI Programmierung mit JAVA Swing GUI Programmierung mit JAVA Swing Komponenten Layout Event Handling Imaging 2001 Thomas Weiler 1 JAVA Swing Bibliothek zur Erstellung grafischer Benutzerschnittstellen in JAVA Bietet Klassen für grafische

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

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 Stand FTE2 Anfang 4. Semester plus Projekt Multiuhren_Thread Ich gehe im Hinblick auf Klassenarbeiten und der Abschlussprüfung davon aus, dass Sie das Skript OOP JAVA2 durchgearbeitet haben. Wir haben

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

C# programmieren

<Trainingsinhalt> C# programmieren C# programmieren i training Inhaltsverzeichnis 1. Einführung in C#... 13 1.1 Das Ziel dieses Buches... 13 1.2 Grundsätzliches zur Sprache... 13 1.3 Programmiersprachen verstehen... 14

Mehr

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER

jetzt lerne ich Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER Der einfache Einstieg in Object Pascal Für alle Versionen bis einschließlich Delphi 2006 THOMAS BINZINGER Inhaltsverzeichnis jetzt lerne ich Vorwort 15 1 Was ist Delphi? 17 1.1 Die Wurzeln von Delphi 17

Mehr

Swing Grundlagen. Andre Eichmann

Swing Grundlagen. Andre Eichmann Swing Grundlagen Andre Eichmann Inhaltsverzeichnis Swing: Grundlagen - Einleitung - Ein einleitendes Beispiel Swing: Container und Menüs - Hauptfenster - Menüs Swing: Grundlagen Nachteile von AWT: - Schwierig,

Mehr