Java Einführung - Kursunterlage
Hubert Partl
Zentraler Informatikdienst
Universität für Bodenkultur Wien
Version:
Juli 2000
Überblick
-
Inhalt
-
Copyright
-
Referenzen
Vorwort
Die vorliegende Java-Einführung beschreibt nur kurz die wichtigsten
Eigenschaften von Java, die für die meisten Anwendungen benötigt
werden. Für darüber hinaus gehende spezielle Features
und Anwendungen sowie für ausführlichere Informationen
wird auf die
Referenzen und auf die
Online-Dokumentation
verwiesen.
Die vorliegende Fassung beschreibt Java ab der Version JDK 1.1.
Die Java-Einführung besteht aus zwei Teilen:
- der eigentlichen
Kursunterlage
mit Beispielen und Übungsaufgaben, und
- Musterlösungen
zu den Übungsaufgaben.
Wenn Sie Java erfolgreich lernen wollen, empfehle ich Ihnen dringend,
die Musterlösungen erst dann auszudrucken und anzusehen,
wenn Sie bereits alle Übungsbeispiele selbständig
fertig programmiert haben, also erst am Ende des Kurses.
Wenn Ihnen meine Java-Einführung gefällt, sagen Sie
es weiter. Wenn Sie darin Fehler entdecken oder Verbesserungsvorschläge
haben, sagen Sie es bitte mir per E-Mail an
partl@mail.boku.ac.at
- ich freue mich immer über solche Hilfe.
Ich danke
Gudio Krüger, Stefan Zeiger, Peter van der Linden, Roedy Green
und allen anderen Internet-Surfern,
die mir gute Tips gegeben und Tippfehler korrigiert haben,
sowie den Teilnehmern an meinen Java-Schulungen,
die mir interessante Fragen gestellt haben.
Hubert Partl
Überblick
- Vorwort
- Grundlagen
- Was ist Java?
- Software und Online-Dokumentation
- Syntax und Statements
- Objekte und Klassen
- Fehlerbehandlung (Exceptions)
- User-Interfaces
- Graphical User Interfaces (GUI)
- Applets
- Threads
- System-Interfaces
- Ein-Ausgabe (IO)
- Networking
- System-Funktionen
- Datenbanken
- Referenzen
- Beilage: Musterlösungen der Übungsaufgaben
Inhaltsverzeichnis
- Vorwort
- Grundlagen
- Was ist Java?
- Insel, Kaffee oder Programmiersprache
- Applikationen (application)
- Applets
- JavaScript ist nicht Java
- Software und Online-Dokumentation
- Java Development Kit (JDK)
- Environment-Variable
- Filenamen
- Java Compiler (javac)
- Java Runtime System (java)
- Web-Browser und Appletviewer
- Online-Dokumentation (API)
- Java-Archive (jar)
- Software-Tools
- Java Beans
- Vorgangsweise
- Beispiel: Einfache HelloWorld-Applikation
- Übung: HelloWorld-Applikation
- Übung: Online-Dokumentation
- Syntax und Statements
- Grundbegriffe der Programmierung
- Namenskonventionen
- Reservierte Wörter
- Datentypen
- Konstante (Literals)
- Deklarationen und Anfangswerte
- Referenzen (reference) auf Objekte oder Strings
- Garbage Collector
- Felder (array)
- Ausdrücke (expression) und Operatoren
- Text-Operationen (String)
- Funktionen (Math)
- Statements und Blöcke
- Kommentare
- if und else
- for
- while und do
- switch und case
- break und continue
- System.exit
- Beispiele für einfache Programme
- Fehlersuche und Fehlerbehebung (Debugging)
- Dokumentation von Programmen (javadoc)
- Übung: einfaches Rechenbeispiel Quadratzahlen
- Übung: Rechenbeispiel Sparbuch
- Objekte und Klassen
- Objekt-Orientierung
- Klassen (class)
- Beispiel: objekt-orientierte HelloWorld-Applikation
- Datenfelder (member field)
- Methoden (method)
- Überladen (overload)
- statische Methoden (static)
- main-Methode
- Konstruktoren (constructor)
- Kapselung (Encapsulation, Data Hiding, Java Beans)
- Beispiel: schlechte Datums-Klasse
- Beispiel: bessere Datums-Klasse
- Übung: einfache Kurs-Klasse
- Objekt-orientierte Analyse und Design
- Beispiel: Analyse Schulungen
- Übung: Analyse Bücherregal
- Vererbung (Inheritance, Polymorphismus, override)
- Übung: Person und Student
- Mehrfache Vererbung, Interfaces, abstrakte Klassen
- Beispiel: Katzenmusik
- Innere Klassen (inner class)
- Zugriff auf Objekte von anderen Klassen
- Packages und import
- Fehlerbehandlung (Exceptions)
- Fehler erkennen (throw, throws)
- Fehler abfangen (try, catch)
- Mathematische Fehler
- Übung: erweitertes Rechenbeispiel Sparbuch
- User-Interfaces
- Graphical User Interfaces (GUI)
- Abstract Windowing Toolkit (AWT)
- AWT-Komponenten (Component)
- Swing-Komponenten (JComponent)
- Container
- Layout-Manager
- Übung: Layout-Manager
- Farben (Color)
- Schriften (Font)
- Größenangaben
- Zeichenobjekte (Canvas)
- Graphiken (Graphics, paint)
- mehrzeilige Texte
- Event-Handling
- Beispiel: typischer Aufbau einer einfachen GUI-Applikation
- Beispiel: typischer Aufbau einer komplexen GUI-Applikation
- Übung: einfache GUI-Applikation
- Applets
- Sicherheit (security, sandbox, signed applets)
- HTML-Tags <applet> <object> <embed> <param>
- Beispiel: einfaches HelloWorld Applet
- Übung: einfaches HelloWorld Applet
- Methoden init, start, stop
- Größenangabe
- Beenden des Applet
- Beispiel: typischer Aufbau eines Applet mit Button-Aktionen
- Beispiel: typischer Aufbau eines Applet mit Maus-Aktionen
- Beispiel: typischer Aufbau eines Applet mit Text-Eingaben
- Übung: einfaches Applet: Thermostat
- Übung: Applet: einfache Verkehrsampel
- Übung: komplexes Applet; Sparbuch
- Übung: komplexes Applet: Bäume im Garten
- Vermeidung von Flimmern oder Flackern (buffered image)
- Uniform Resource Locators (URL)
- Bilder (Image, MediaTracker)
- Töne (sound, AudioClip)
- Parameter
- Web-Browser (AppletContext)
- Übung: Zwei Applets
- Applet-Dokumentation
- Doppelnutzung als Applet und Applikation
- Threads
- Multithreading, Thread, Runnable
- Starten eines Thread (start)
- Beenden oder Abbrechen eines Thread
- Unterbrechungen (sleep, suspend, resume)
- Synchronisierung (join, wait, notify, synchronized)
- Beispiel: eine einfache Animation
- Übung: einfaches Applet Blinklicht
- Übung: erweitertes Applet Verkehrsampel mit Blinklicht
- System-Interfaces
- Ein-Ausgabe (IO)
- Dateien (Files) und Directories
- Datenströme (stream)
- InputStream (Eingabe)
- Spezielle Input-Streams
- Lesen einer Datei von einem Web-Server (URL)
- OutputStream (Ausgabe)
- Spezielle Output-Streams
- RandomAccessFile (EIn- und Ausgabe)
- Reader und Writer (Text-Files)
- Reader - Methoden
- Writer - Methoden
- Übung: zeilenweises Ausdrucken eines Files
- Übung: zeichenweises Kopieren eines Files
- Übung: Lesen eines Files über das Internet
- Networking
- Internet-Protokoll, Server und Clients
- Sockets
- Beispiel: typischer Aufbau eines Servers
- Beispiel: typischer Aufbau eines Client
- Übung: einfache Client-Server-Applikation
- System-Funktionen
- Datum und Uhrzeit (Date)
- Date Version 1.0
- Date und Calendar Version 1.1
- Zeitmessung
- Ausdrucken (PrintJob, PrinterJob)
- Ausführung von Programmen (Runtime, exec)
- Verwendung von Unterprogrammen (native methods, JNI)
- Web-Server (CGI, Servlets)
- Datenbanken
- Relationale Datenbanken
- Structured Query Language (SQL)
- Datenbank-Zugriffe in Java (JDBC)
- Driver
- Connection
- Statement
- ResultSet
- PreparedStatement
- DatabaseMetaData und ResultSetMetaData
- Datenbank-Anwendungen über das Internet
- Übung: eine kleine Datenbank
- Referenzen
- Beilage: Musterlösungen der Übungsaufgaben
Copyright
Sowohl die gedruckte als auch die über das Internet unter
der Adresse
http://www.boku.ac.at/javaeinf/
verfügbare Version der Java-Einführung und der Übungsbeispiele
sind urheberrechtlich geschützt.
Die nicht kommerzielle Nutzung durch Universitäten, Schulen
und Privatpersonen für den eigenen Gebrauch ist kostenlos
erlaubt, wenn der Inhalt (einschließlich Autoren- und Copyright-Angabe)
und die Form unverändert bleiben (siehe auch
Download).
Bearbeitungen (einschließlich Kürzungen, Ergänzungen,
Übersetzungen) sowie alle Arten von kommerziellen Nutzungen
(z.B. in Schulungen oder Beratungen) oder Weitergaben (z.B. auf
Papier, in elektronischer Form, auf CD-ROM oder anderen Datenträgern)
sind nur nach Rücksprache mit dem
Autor
erlaubt.
Der Autor kann keine Gewähr
für die Aktualität und Richtigkeit
der Dokumentation und der Beispiele übernehmen.
Download
Alle Java-, Class- und HTML-Files
der Java-Einführung und der Beispiele
stehen in einem mit Gnuzip komprimierten Archiv im Unix-tar-Format
unter der folgenden Adresse
für das Anlegen von lokalen Kopien ("Mirrors")
zur Verfügung:
- ftp://ftp.boku.ac.at/www/jein.tar.gz
Sie können aber auch noch einfacher die fünf HTML-Files direkt mit
dem Save-As-Befehl Ihre Web-Browsers auf Ihrem Computer speichern.
Bitte, beachten Sie das
Copyright
des Autors
und sorgen Sie für eine laufende Aktualisierung
ihrer Kopie.
Ausdrucken
Wenn Sie meine Java-Schulung besuchen
(siehe den
Kurskalender
des ZID),
bekommen Sie einen Printout als Schulungsunterlage.
Fernleihe und Versand sind nicht möglich.
Wenn Sie einen PostScript-fähigen Drucker
und eine gute FTP-Verbindung zur BOKU Wien
haben,
dann können Sie eventuell
die folgenden beiden PostScript-Files
über das Internet laden und ausdrucken:
- ftp://ftp.boku.ac.at/www/javakurs.ps
oder
ftp://ftp.boku.ac.at/www/javakurs.ps.gz
für die Kursunterlage (ca. 150 Seiten)
- ftp://ftp.boku.ac.at/www/javaloes.ps
oder
ftp://ftp.boku.ac.at/www/javaloes.ps.gz
für die Musterlösungen (ca. 50 Seiten)
Andernfalls können Sie die einzelnen Files
(siehe Überblick)
mit der Print-Funktion Ihres Web-Browsers
ausdrucken.
Achtung, die PostScript-Files eignen sich nur für die
direkte Ausgabe auf einen PostScript-Drucker,
aber nicht für das Ansehen am Bildschirm mit GhostView.
Für das Ansehen am Bildschirm
(mit dem Web-Browser) dienen nur die HTML-Files.
Bitte, beachten Sie das
Copyright
des Autors.
Referenzen
- Online-Informationen über Java:
- Online-Dokumentation (API) innerhalb des JDK
- http://java.sun.com/
- http://www.javasoft.com/
- http://www.de.java-software.com/ (deutschsprachig)
- http://www.gamelan.com/
- http://codeguru.developer.com/java/
- Java Tutorial auf
http://java.sun.com/docs/books/tutorial/index.html
- Java FAQ auf
http://sunsite.unc.edu/javafaq/javafaq.html
- Java Programmers FAQ auf
http://www.afu.com/javafaq.html
- Java Glossary in
http://mindprod.com/gloss.html
- deutsche Java-FAQ auf
http://www.os-visions.de/texte/java/faq/
- Bücher:
- Java-Einführung von Hubert Partl
auf http://www.boku.ac.at/javaeinf/
- Handbuch der Java-Programmierung von Guido Krüger
auf http://www.gkrueger.com/
- Java ist auch eine Insel von Christian Ullenboom
auf http://java-tutor.com/
- Thinking in Java von Bruce Eckel
auf http://www.BruceEckel.com/javabook.html
- siehe auch
http://www.yahoo.com/ (Suche)
- Online-Informationen über Internet, WWW und HTML:
- Internet-Handbuch von H.Partl
- auch online auf
http://www.boku.ac.at/zid/hand/#internet
- HTML-Einführung von H.Partl
- auch online auf
http://www.boku.ac.at/htmleinf/
- W3-Consortium
- auf
http://www.w3.org/
- siehe auch
http://www.yahoo.com/ (Suche)
- Newsgruppen über Java und Web-Pages:
- comp.lang.java.help
- comp.lang.java.programmer
- comp.lang.java.gui
- und andere Spezialgruppen in der Hierarchie comp.lang.java.*
- comp.infosystems.www.authoring.html
- comp.infosystems.www.authoring.site-design
- und andere Gruppen in der Hierarchie comp.infosystems.*
- de.comp.lang.java
- de.comm.infosystems.www.authoring
- und andere Gruppen in den Hierarchien de.comm.* und de.comp.*
- siehe auch
http://www.deja.com/
(Suche)
Beilage:
- Musterlösungen
der Übungsaufgaben
Und wenn Ihnen das alles noch nicht genug ist,
versuchen Sie Ihr Glück im
Webring
für Webmaster.