Skip to main content

2002 | Buch | 3. Auflage

Grundkurs JAVA

Von den Grundlagen bis zu Datenbank- und Netzanwendungen

verfasst von: Dietmar Abts

Verlag: Vieweg+Teubner Verlag

Buchreihe : Ausbildung und Studium

insite
SUCHEN

Über dieses Buch

1. 1 Zielsetzung und Gliederung des Buches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1. 2 Die Entwicklung von Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. 3 Eigenschaften von Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1. 4 Entwicklungsumgebungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1. 5 Erste Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2. 1 Kommentare und Bezeichner. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2. 2 Variablen und Datentypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2. 3 Ausdrucke und Operatoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2. 4 Kontrollstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2. 5 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3 Objektorientierte Programmierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3. 1 Klassen und Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3. 2 Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3. 3 Konstruktoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 3. 4 Statische Attribute und Methoden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3. 5 Vererbung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3. 6 Abstrakte Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3. 7 Modifizierer von Klassen, Attributen und Methoden . . . . . . . . . . . . . . . . . . . . . . 59 3. 8 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3. 9 Innere Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 3. 10 Pakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 3. 11 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4 Ausnahmebehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4. 1 Ausnahmeklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4. 2 Auslosung und Weitergabe von Ausnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4. 3 Abfangen von Ausnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4. 4 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 5 Ausgewahlte Klassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5. 1 Die Klassen String und StringBuffer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 5. 2 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 VII Inhaltsverzeichnis 5. 3 Die Klasse StringTokenizer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5. 4 H tillklassen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5. 5 Mathematische Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5. 6 Listen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 5. 7 Hashtabellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 5. 8 Die Klasse System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 5. 9 Klassendeskriptoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 5. 10 Zeitangaben und -berechnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5. 11 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 6 Dateiverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 6. 1 Obersicht tiber Datenstrbme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 6. 2 Die Klasse File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 6. 3 Sequentielle Dateiverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6. 4 Random-Access-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 6. 5 Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172 7 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 7. 1 Das Erzeugen von Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 7. 2 Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Inhaltsverzeichnis

Frontmatter
1. Einleitung
Zusammenfassung
Java ist eine noch junge Programmiersprache, die sich innerhalb kurzer Zeit etabliert hat. Sie unterscheidet sich in vielerlei Hinsicht von anderen Programmiersprachen. Dabei ist nicht allein ihre Objektorientierung das hauptsächliche Unterscheidungsmerkmal. Java wird heute als universelle Programmiersprache für Internet- und Intranet-Anwendungen sowohl auf der Client- als auch auf der Server-Seite eingesetzt. Ein weiteres wesentliches Merkmal von Java ist die Plattformunabhängigkeit. Dank des Konzepts der virtuellen Maschine sind in Java programmierte Anwendungen einschließlich ihrer grafischen Oberflächen ohne Portierung auf nahezu allen Rechnersystemen lauffähig. Allerdings hängt es vom Grad der Java-Unterstützung des eingesetzten Web-Browsers ab, ob Applets, die mit der neuesten Java-Version entwickelt wurden, ohne Umstände lauffähig sind. Java hat von den Erfahrungen mit anderen Programmiersprachen wie Smalltalk, C und C++ profitiert. Wesentliche Konzepte wurden übernommen. Auf allzu komplexe und fehleranfällige Eigenschaften wurde bewusst verzichtet, um die Sprache einfach und robust halten zu können.
Dietmar Abts
2. Grundlagen
Zusammenfassung
Dieses Kapitel beschreibt die elementaren, nicht objektorientierten Sprachelemente von Java. Insbesondere werden Datentypen, Variablen, Operatoren und Kontrollstrukturen behandelt. Mitunter ist es unerlässlich, weitere Sprachelemente zu benutzen, um lauffähige Programme zu erhalten. Diese Elemente werden aber erst in den folgenden Kapiteln ausführlich behandelt. Die Verständlichkeit des vorliegenden Kapitels wird hierdurch nicht beeinträchtigt.
Dietmar Abts
3. Objektorientierte Programmierung
Zusammenfassung
Dieses Kapitel behandelt die objektorientierten Sprachelemente von Java. Im Vordergrund stehen die Begriffe Klasse,Objekt, Attribut, Methode, Vererbung und Polymorphismus. Die objektorientierte Programmierung löst sich von dem Prinzip der Trennung von Daten und Funktionen, wie sie in den traditionellen Programmiersprachen der dritten Generation üblich ist. Stattdessen werden Daten und Funktionen zu selbständigen Modellierungseinheiten, den Klassen, gekapselt.
Dietmar Abts
4. Ausnahmebehandlung
Zusammenfassung
Während der Ausführung eines Programms können diverse Fehler bzw. Ausnahmen (Exceptions) auftreten, z.B. eine ganzzahlige Division durch 0, der Zugriff auf ein Arrayelement mit einem Index außerhalb der Grenzen des Arrays oder der Zugriff auf eine nicht vorhandene Datei.
Dietmar Abts
5. Ausgewählte Klassen
Zusammenfassung
In diesem Kapitel werden einige wichtige Klassen aus den Java-Standardpaketen vorgestellt. Sie sind in jeder Java-Implementierung vorhanden und können in verschiedenen Anwendungssituationen nutzbringend eingesetzt werden.
Dietmar Abts
6. Dateiverarbeitung
Zusammenfassung
Java bietet eine umfangreiche Bibliothek von Klassen zur Dateiverarbeitung mit sequentiellem oder wahlfreiem Zugriff. Die sequentielle Ein- und Ausgabe wird mittels so genannter Datenströme realisiert.
Dietmar Abts
7. Threads
Zusammenfassung
Moderne Betriebssysteme können mehrere Programme quasi gleichzeitig (Multitasking) oder tatsächlich gleichzeitig (bei Mehrprozessorsystemen) ausführen. Die sequentielle Ausführung der Anweisungen eines Programms durch den Prozessor stellt einen Prozess dar, für den ein eigener Speicherbereich reserviert ist und der vom Betriebssystem verwaltet, gestartet und angehalten wird.
Dietmar Abts
8. Grafische Benutzungsoberflächen
Zusammenfassung
Die Klassen des Pakets j ava. awt stellen grundlegende Elemente zur Erstellung grafischer Benutzungsoberflächen, auch GUI (Graphical User Interface) genannt, bereit. Die Abkürzung AWT steht dabei für Abstract Window Toolkit. Mit Hilfe dieser Klassen können Fenster mit Menüs, Textfelder und Bedienungselemente, wie z.B. Schaltflächen und Auswahllisten, plattformunabhängig realisiert werden. Zur Darstellung vieler AWT-Komponenten wird auf das jeweilige Betriebssystem zurückgegriffen (Peer-Ansatz), sodass z.B. ein Button unter Windows ein typischer Windows-Button und auf einem Macintosh ein typischer Mac-Button ist. Damit beschränkt sich AWT auf diejenigen GUI-Komponenten, die von allen unterstützten Betriebssystemen dargestellt werden können.
Dietmar Abts
9. Applets
Zusammenfassung
Applets sind Java-Programme, die aus einer Web-Seite heraus aufgerufen werden. Dazu muss der Bytecode des Applets mit Hilfe der Seitenbeschreibungssprache HTML (HyperText Markup Language) eingebunden werden. Applets werden vom Java-Interpreter eines Browsers ausgeführt. Die Ausgabe erfolgt in einem rechtwinkligen Bereich des Browserfensters. Zum Testen kann alternativ das Programm appletviewer aus dem Software Development Kit (SDK) benutzt werden. appletviewer interpretiert nur die Applet-Einträge in der HTML-Datei. Alle anderen HTML-Anweisungen werden ignoriert.
Dietmar Abts
10. Datenbank- und Netzanwendungen
Zusammenfassung
Dieses Kapitel enthält Anwendungsbeispiele, die den Zugriff auf relationale Datenbanken aus Java-Programmen heraus sowie die Erstellung von Client-Server-Anwendungen auf der Basis von Netzwerkverbindungen demonstrieren. Hierzu existieren umfangreiche Sammlungen von Klassen. Im Folgenden werden jedoch nur die Methoden vorgestellt, die für die Realisierung der Beispiele benötigt werden.
Dietmar Abts
Backmatter
Metadaten
Titel
Grundkurs JAVA
verfasst von
Dietmar Abts
Copyright-Jahr
2002
Verlag
Vieweg+Teubner Verlag
Electronic ISBN
978-3-322-94305-7
Print ISBN
978-3-528-25711-8
DOI
https://doi.org/10.1007/978-3-322-94305-7