Einführung in Java (WS 97/98, RRZ)

Inhalt:


Aktuelle Informationen:

Der Kurs beginnt am 6.10.97 um 9:00 in Raum F-334. Für die Übungen sind die Räume D-117, D-118, D-119, D-121 reserviert.

Online-Dokumentation

Mein Java-basierter Graphikeditor / Viewer ist fertig. Im Prinzip stehen damit auch die Folien online zur Verfügung (aber noch nicht alle), allerdings läuft das Applet derzeit noch nicht mit Netscape. Also bitte mit dem JDK appletviewer, HotJava, oder dem Internet Explorer laden. Achtung: Das Applet lädt einige 100 KB Code. Das kann auf langsamen SPARCstations schon einige Sekunden dauern.

Online-Skript

Die aktualisierte Version (Stand Anfang 2000) der Folien im PDF Format (4 Folien pro Seite A4). Bitte nur zuhause, nicht aber auf den Druckern des FBI-Rechenzentrums ausdrucken!
Copyright: Das Skript dient zum Nachschlagen nur für die Teilnehmer meines Java-Kurses, nicht zum allgemeinen Verteilen im WWW. Außerdem sind Bücher zum Selbststudium deutlich besser geeignet als die nackten Folienkopien (ohne weitere Erläuterungen).

Allgemeine Informationen und das JDK

Einführung in Java, WS 97/98

Veranstalter:

Norman Hendrich
Universität Hamburg
Fachbereich Informatik
Vogt-Kölln-Str. 30
22 527 Hamburg

Haus F, Zimmer F314, Telefon (040) 5494 2399

Unix-Accounts:

Die Übungen erfordern einen gültigen Account auf den Solaris-Workstations des Rechenzentrums. Für allgemeine Fragen zu Unix und dem Zugang zu den Workstations des Informatik-Rechenzentrums ist die Benutzerberatung des Rechenzentrums (Haus D) zuständig.

Das JDK

Das JDK (Java Developer's Kit) ist auf allen SPARC-Workstations des Rechenzentrums verfügbar, die mit Solaris 2.5 betrieben werden. (Das JDK läuft derzeit nicht unter SunOS 4.x). Die Installation enthält alle Programme, Bibliotheken, Include-Dateien und die (Java-) Quelltexte der Klassenbibliotheken. Sie ist über die folgenden Pfade erreichbar:
/opt/jdk1.1.4/
              bin/
                  appletviewer   -- Applets ausführen
                  java           -- Java-Interpreter
                  javac          -- Java-Compiler
                  javadoc        -- API-Dokumentation
                  ...
              lib/
                  dynamische Link-Bibliotheken
              src/               -- Quelltexte
                  java/
                       awt/...
                       io/...
                       lang/
                            Thread.java -- Quelltexte
                       net/...
              include/ ...        -- Header-Dateien für native-code
Bei Problemen mit dem Appletviewer oder Hotjava und der Meldung java.lang.UnsatisfiedLinkError: no awt in shared library path muß unter Solaris der Suchpfad für die Shared-Libraries um /opt/dt/lib erweitert werden, etwa:
 setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:/opt/dt/lib
Auf den Workstations des FBI Rechenzentrums funktioniert das JDK bestens, wenn alle zusätzlichen Pfade aus der .cshrc bzw. .login entfernt werden, da die systemweiten Dateien dann die korrekten Pfade setzen.

Editor

Als Editor zur Erstellung der Quelltexte kann jeder beliebige Unix-Editor eingesetzt werden, zum Beispiel vi, emacs oder axe.

Aufruf der Programme

Ab Solaris 2.6 sind die Programme des JDK in der Standardinstallation enthalten und können ohne weiteres benutzt werden. Für ältere Versionen oder andere Betriebssysteme müssen die Programme normalerweise zusätzlich in den Suchpfad der Unix-Shell aufgenommen werden, also:

  set path = ( /opt/jdk1.1.4/bin $path )

Anschließend können dann der Java-Compiler und der Interpreter bequem aus dem aktuellen Arbeitsverzeichnis heraus aufgerufen werden:

rzdspc31> cd 
rzdspc31> mkdir javakurs            -- Verzeichnisse nach Wunsch
rzdspc31> mkdir javakurs/HelloWorld
rzdspc31> cd javakurs/HelloWorld    
rzdspc31> vi HelloWorld.java        -- Editieren
rzdspc31> javac HelloWorld.java     -- Compilieren
rzdspc31> java HelloWorld           -- Ausführen
Hello, World!
rzdspc31>

ACHTUNG:

Wichtig ist die unterschiedliche Konvention beim Aufruf der Compilers und des Interpreters: Der Compiler erwartet einen Dateinamen (xxx.java) der Interpreter den Namen der Klasse ohne Extensions (xxx), also nicht 'java xxx.class'.

Applets

Applets können theoretisch mit jedem Java-enabled WWW-Browser und außerdem dem appletviewer ausgeführt werden. Auf den Workstations stehen Netscape 3.03, Netscape 4.02 und Hotjava 1.0 (/opt/HotJava/bin/hotjava) zur Verfügung.

API-Dokumentation

Die Java API-Klassendokumentation (1.1) ist auf dem WWW-Server des Arbeitsbereichs TECH lokal verfügbar.


FTP-Server

Die aktuellen Versionen des Java-JDK (Windows, Solaris, Mac) diverse Dokumentation und die zusätzlichen Klassenbibliotheken sind zeitweise auf dem FTP-Server der Uni-Hamburg vorhanden. Bedauerlicherweise ändert sich die Verzeichnisstruktur dort so häufig, daß es komplett aussichtslos ist, auf dieser Seite einen stabilen Verweis einzutragen. Bitte auf ftp.uni-hamburg.de jeweils neu suchen (sorry!).

Programmbeispiele

Einige Programmbeispiele zu den Aufgaben finden sich in den folgenden Unterverzeichnissen. Die Liste der vorhandenen Beispiele wird im Lauf des Kurses sukzessive ergänzt: Ausführliche Beschreibungen und Erläuterungen der Programme finden sich in meinem Buch Java für Fortgeschrittene, Springer Verlag, 1997.

Übungsaufgaben

Die folgenden Aufgaben sind als Anregung für den ersten Kontakt mit Java gedacht. Zur Lösung werden sukzessive zusätzliche Sprachkonstrukte und Klassen aus den System-Packages benötigt. Falls Ihnen die Aufgaben zu langweilig/zu schwierig erscheinen, oder Sie bereits eine konkrete Aufgabe für Java im Auge haben, zögern Sie nicht, die Aufgaben entsprechend abzuwandeln.

Grundlagen: das erste Programm

Erste Algorithmen, Funktionen, Kontrollkonstrukte

Klassen

Vererbung, Polymorphismus

Applets

25.11.96: AWT - Bilder

AWT - Oberflächen

I/O, Umgang mit Strings


Threads

Threads


Letzte Änderung: 13.10.1997, N. Hendrich