ebook img

Grundkurs JAVA: Eine Einführung in das objektorientierte Programmieren mit Beispielen und Übungsaufgaben PDF

342 Pages·2000·7.259 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Grundkurs JAVA: Eine Einführung in das objektorientierte Programmieren mit Beispielen und Übungsaufgaben

Dietmar Abts Grundkurs JAVA Die Bücher ~er Reihe .Ausblldung und Studium· bieten prax.lsorientlerte Einfüh rungen für dIe Aus-und Weiterbildung sowie Bausteine für ein erfolgreiches berufs qualIfIzierendes Studium. Unter anderem sind erschienen: Turbo Paac.1 W.cwel ..r fllr OBERON Auablldunc und Studium von B. Martncek, J. L. Marais von Ekkehard Kaler und E. Zeller DeIphi Eu.ntI.la Studl.nfllhrer von Ekkebard Kaier Wlrtach.ftalnform.tlk von Peler Mertens, Peter ehamon! ProJl'llmml.ren mit Fortran 90 Dleler Ehrenberg, Joachlm Grlese,' von Hans-Peler Bäumer Lutz}. Heinrich und Karl Kurbel (Hrsg.) Wlrtachaftam.th.m.t1k mit Elnfllhrun,ln UNIX d.m Comput.r von Wemer Brecht von Hans Benker ObJ.ktorl.ntI.rte D.t.nbank-EnJineerln, ProJl'llmml.run,ln JAVA von Alfred Moos und Gerhard Daues vonOno Rauh Vlau.1 Baalc Eu.ntI.la PLlI fllr Workatatlona von Ekkebard Kaler von Eberhard Stunn Excel fllr BetrI.b.wlrte Effektiv ProJl'llmml.ren von Roben Horvat InCundC++ und Kambiz Koochakl von Dletmar Herrmann Orundkura Wlrtach.ftalnform.tlk Modul., KI ....n , Vertriip von Dietmar Abts und Wilhelm ~ü1der von Karlhelnz Aug Praktlach. Autb.ukura Wlruehafh $ystemprocr·mml.run, Inform.tlk von Helmut Weber von Dlelmar Abts und Wilheim Mülder Inpnl.urm.th.m.tlk Onllne-Publlahln, fllr Stud.nt.n mit Computer.lpbra-Syat.m.n und Wl ...n ach.ftI.r von Hans Denker von Michael Bel8wenger Excel fllr Technlk.r Vlau.1 B.ale fllr und Inpnl.ur. technlach. An_ndun,.n von Hans-JOrgen Holland von JOrgen Radel und Uwe Bernhardt Orundkura Id,orlthm.n R.I.tlon.l.a und obJ.kt und D.t.natruktur.n rel.tlonal.a SOL von Andrcas Solymosi von Wolf-Michael Kähler und Ulrtch Grude Koatenat.ll.nrechnun, 5.\"- Orundkura JAVA mit R/3- von Dietmar Abts von Franz Klengerund Ellen Falk Kalms TheorI. und Praxla rel.tlon.l.r D.tenb.nk.n von Rene Steiner Dietmar Abts Grundkurs JAVA Eine Einführung in das objekt- orientierte Programmieren mit Beispielen und Übungsaufgaben aI vleweg Die Deutsche Bibliothek - CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich. 1. Auflage Oktober 2000 ISBN 978-3-528-15711-1 ISBN 978-3-663-10208-3 (eBook) DOI 10.1007/978-3-663-10208-3 Alle Rechte vorbehalten © Springer Fachmedien Wiesbaden, 2000 Ursprünglich erschienen bei Friedr. Vieweg & Sohn Verlagsgesellschaft mbR, Braunschweig/Wiesbaden, 2000. Das Werk einschließlich aller seiner Teile ist urheberrechtlich ge schützt. Jede Verwertung außerhalb der engen Grenzen des Ur heberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für VervielfäItigungen, Über setzungen, Mikroverfilmungen und die Einspeicherung und Ver arbeitung in elektronischen Systemen. www.vieweg.de Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion und Auslieferung unserer Bücher woHen wir die Umwelt schonen: Dieses Buch istauf säurefreiem und chlorfrei gebleiChtem Papier gedruckt. Die EinschweißfoIie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen. Konzeption und Layout des Umschlags: Ulrike Weigel, www.CorporateDesignGroup.de Gedruckt auf säurefreiem Papier Vorwort zur zweiten Auflage 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-Unter stü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. In der vorliegenden Auflage werden zur Entwicklung grafischer Oberflächen Swing-Komponenten auf der Basis von Java 2 eingesetzt. Sämtliche Beispiel programme sind von Aw r auf Swing umgestellt worden. Zielsetzung des Buches Dieser Grundkurs bietet eine strukturierte und anschauliche Einführung in grundlegende Aspekte der Java-Programmierung. Dabei werden kenn zeichnende Eigenschaften der Objektorientierung, wie Klassendefinition, Vererbung und Polymorphismus, ausführlich dargestellt. Das Buch kann nicht die gesamte Java-Klassenbibliothek, die sehr umfangreich ist, vorstellen. Nur die für das Grundverständnis wichtigen Klassen und Methoden werden diskutiert. Eine vollständige Beschreibung aller Klassen findet man in einschlägigen Referenzhandbüchern und in der Online-Dokumentation zum Java 2 Software Development Kit (siehe Literatur- und Quellenverzeichnis). Obwohl dieser Kurs keine Programmiererfahrung voraussetzt, erleichtern v Vorwort zur zweiten Auflage Kenntnisse in einer Programmiersprache wie z.B. Pascal, C oder C++ den Einstieg. Inhalt und Gliederung Die einzelnen Kapitel bauen aufeinander auf. • Kapitell gibt eine Übersicht über die Konzeption von Java. Hier wird bereits ein erstes Beispielprogramm vorgestellt. • Kapitel 2 beschäftigt sich mit den nicht objektorientierten Grundlagen der Sprache, wie z.B. Datentypen, Operatoren und Kontrollstrukturen. • Kapitel 3 führt die objektorientierten Konzepte ein, deren Verständnis grundlegend für alles Weitere ist. • Kapitel 4 widmet sich der Behandlung von Fehlern, die während der Pro grammausführung auftreten können. • Kapitel 5 stellt einige nützliche Klassen mit ihren Methoden vor. • Kapitel 6 enthält die für den Zugriff auf Dateien wichtigen Klassen und Methoden. • Kapitel 7 bietet eine Einführung in die Programmierung mehrerer gleichzeitig laufender Anweisungsfolgen CThreads) innerhalb eines Pro gramms. • Kapitel 8 befasst sich mit der Entwicklung von grafischen Oberflächen sowie der Behandlung von Ereignissen, wie z.B. die Auswahl eines Menü punkts oder das Drücken eines Buttons. • Kapitel 9 behandelt Applets, die in Web-Seiten eingebunden sind und unter der Kontrolle des Web-Browsers laufen. Hier werden auch Techniken zur Entwicklung von Animationen vorgestellt. • Kapitel 10 enthält einen Ausblick auf weitere Anwendungsmöglichkeiten: Zugriff auf eine relationale Datenbank mit Hilfe von SQL und die Programmierung von Client-Server-Anwendungen auf der Basis von TCP/IP und der Socket-Schnittstelle. Abschließend wird eine Datenbankanwendung entwickelt, die über ein HTML-Formular im Browser bedient werden kann. VI Programm-und Aufgabensammlung Zahlreiche Beispielprogramme helfen bei der Umsetzung der Konzepte in lauffähige Anwendungen. Jedes Kapitel (mit Ausnahme von Kapitel 1) enthält am Ende Aufgaben, die den behandelten Stoff einüben und vertiefen. Alle Programme wurden mit dem von Sun bereitgestellten Software Development Kit Java 2 SDK v 1.3 unter Windows 98 getestet. Der Quellcode zu den Beispielprogrammen und zu den Lösungen der Aufgaben steht - zusammen gefasst in einer ZIP-Archivdatei - im Internet zum Herunterladen zur Verfügung. Die Web-Adresse ist dem Literatur- und Quellenverzeichnis zu entnehmen. Das Archiv enthält zudem eine HTML-Startseite, die die Navi gation durch die Programmsammlung erleichtert. Kommentare und Verbesserungsvorschläge richten Sie bitte als E-Mail an den Autor: [email protected] Ratingen, im Oktober 2000 Dietmar Abts VII 1 Entwicklung und Konzeption von Java ................................................ 1 2 Grundlagen ............................................................................................... 11 2.1 Kommentare und Bezeichner .......................................................... 11 2.2 Variablen und Datentypen ............................................................... 13 2.3 Ausdrücke und Operatoren .............................................................. 17 2.4 Kontrollstrukturen ............................................................................. 25 2.5 Aufgaben ........................................................................................... 33 3 Objektorientierte Programmierung ...................................................... 35 3.1 Klassen und Objekte ........................................................................ 35 3.2 Methoden .......................................................................................... 39 3.3 Konstruktoren ................................................................................... 42 3.4 Statische Attribute und Methoden .................................................... 44 3.5 Vererbung ......................................................................................... 46 3.6 Abstrakte Klassen .............................................................................. 50 3.7 Modifizierer von Klassen, Attributen und Methoden ...................... 54 3.8 Interfaces .......................................................................................... .56 3.9 Innere Klassen .................................................................................. 59 3.10 Pakete ............................................................................................... 62 3.11 Aufgaben ........................................................................................... 65 4 Ausnahmebehandlung ............................................ , .......................... , .... 67 4.1 Ausnahmeklassen ............................................................................. 67 4.2 Auslösung und Weitergabe von Ausnahmen .................................. 69 4.3 Abfangen von Ausnahmen ............................................................... 70 4.4 Aufgaben ........................................................................................... 74 5 Ausgewählte Klassen ............................................................................... 77 5.1 Die Klassen String und StringBuffer ................................................ 77 5.2 Arrays ................................................................................................ 83 5.3 Die Klasse StringTokenizer .............................................................. 90 5.4 Hüllklassen ....................................................................................... 92 5.5 Mathematische Funktionen .............................................................. 97 5.6 Listen ............................................................................................... 101 5.7 Hashtabellen ................................................................................... 109 IX Inhaltsverzeichnis 5.8 Die Klasse System ........................................................................... 115 5.9 Klassendeskriptoren ....................................................................... 117 5.10 Zeitangaben und -berechnungen ................................................... 120 5.11 Aufgaben ......................................................................................... 125 6 Dateiverarbeitung ..... '. ............................................................................ 129 6.1 Übersicht über Datensträme .......................................................... 130 6.2 Die Klasse File ................................................................................ 136 6.3 Sequentielle Dateiverarbeitung ...................................................... 140 6.4 Random-Access-Dateien ................................................................. 152 6.5 Aufgaben ......................................................................................... 156 7 Threads .................................................................................................... 159 7.1 Das Erzeugen von Threads ............................................................ 160 7.2 Synchronisation von Threads ......................................................... 166 7.3 Das Unterbrechen von Threads ..................................................... 175 7.4 Aufgaben ......................................................................................... 177 8 Grafische Benutzungsobert1ächen ...................................................... 179 8.1 Übersicht ......................................................................................... 180 8.2 Fenster und Grafik .......................................................................... 182 8.3 GUI-Komponenten und Ereignisbehandlung ................................ 191 8.3.1 Das Event-Modell. .............................................................. 191 8.3.2 Buttons ............................................................................... 198 8.3.3 Labels ................................................................................. 204 8.3.4 Scrollbalken und spezielle Container ............................... 206 8.3.5 Textkomponenten ............................................................. 214 8.3.6 Auswahlkomponenten ....................................................... 222 8.4 Layout-Manager .............................................................................. 227 8.5 Menüs und Symbolleisten .............................................................. 234 8.6 Dialogfenster ................................................................................... 240 8.7 Tabellen .......................................................................................... 250 8.8 Mausaktionen .................................................................................. 255 8.9 Aufgaben ......................................................................................... 260 9 Applets ..................................................................................................... 263 9.1 Der Lebenszyklus eines Applets .................................................... 263 9.2 Die Appletumgebung ..................................................................... 267 9.3 Hybridanwendungen ...................................................................... 275 9.4 Wiedergabe von Bild- und Tondaten ............................................ 277 9.5 Animation ........................................................................................ 281 x

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.