Universität Hamburg - Fachbereiche - Fachbereich Mathematik

Java-Kurs

WiSe 01/02, 1.-12.10. und 25.-26.10.2001

Bodo Werner

Übungen: Mo-Sa 8.30-10.45 Geom 142,143 vor Vorlesungsbeginn und DoFr 10.30-12.45 Geom 142,143 nach Vorlesungsbeginn

Vorlesungen: Mo-Fr 11-13 Geom H 2 (am 1.10. Hörsaal C, Chemie) vor Vorlesungsbeginn und DoFr 14-16 Geom H 6 nach Vorlesungsbeginn


Inhaltsverzeichnis


Vorbemerkung

Der Lehrveranstaltung "Numerische Mathematik" für Erst- und Zweitsemester der Diplom-Studiengänge Mathematik sowie Technomathematik im WiSe 01/02 und dem SoSe 02 wird wie in den vergangenen zwei Jahren mit der Programmierspreche Java verbunden. Das Ziel dieses Kompaktkurses ist es, die Grundlagen für den Einsatz von Java in der Numerischen Mathematik zu schaffen.
Dieses Dokument dient als Begleitmaterial zum Kompaktkurs. Es ersetzt aber keineswegs ein Lehrbuch.

Literatur, WWW-Links

Es ist nicht einfach, ein Lehrbuch zu empfehlen. Wenn es in deutscher Sprache abgefasst und nicht zu teuer sein soll, empfehle ich (in Unkenntnis vieler Alternativen)

Rolf Jesse, Java 2, bhv (DM 29,80)

del Grosso, Rubitschung, Studer: Java, vdf-Verlag (DM 48)
D. Abts: Grundkurs Java, VIEWEG (DM 42)

Wenn es teurer (und dicker!) sein darf (dieses Buch habe ich vor allem genutzt):
G. Krüger: GoTo Java 2, Addison-Wesley, (DM 98).

Eine Studentin, die schon sehr viel mit Java gearbeitet hat, empfahl das Buch Bruce Eckel Thinking in Java, das es such in Deutsch geben soll.

Es gibt auch einige interessante WWW-Links:

Sun-Tutorial
Ein Vorläufer des obigen Buches von G.Krüger
Die offizielle Java-Dokumentation.

Es gibt im wesentlichen zwei Wege, Java zu lehren. Der eine führt direkt zur objektorientierten Programmierung, der andere beginnt mit den konventionellen Sprachelementen, die auch andere Programmiersprachen besitzen, in Applikationsklassen, um dann danach an Hand konkreter Beispiele des neuen Datentyps Klasse das OOP-Konzept nahe zu bringen. Dieser Kurs wählt den zweiten Weg.


Einführung

Um Java-Anwendungsprogramme laufen lassen zu können, benötigt man ein Java Developer's Kid (JDK), das 1991 von Sun entwickelt wurde und zur Zeit in der Version 1.2 zur Verfügung gestellt wird. Der Javacompiler (javac.exe) erzeugt aus einem Quellcode (einer Textdatei *.java) einen Bytecode (*.class), welches danach mit dem Javainterpreter (java.exe) plattformunabhängig ausgeführt wird. Applets sind spezielle in HTML eingebettete Java-Klassen, die von einem WWW-Browser verstanden werden und in der Regel grafische Interaktionen zulassen. Wir werden uns hier nicht mit Applets, sondern mit reinen Anwendungsprogrammen befassen.

Das Grundkonzept von Java beruht auf dem objektorientierten Programmieren (OOP). Ein Objekt ist eine Variable vom Typ einer Klasse , in Abgrenzung zu den primitiven (einfachen) Datentypen (Zahlen: int, double,..., logische Variable: boolean, Zeichen: char). Objekte werden durch ihre Attribute (auch Eigenschaften oder Daten oder Variable genannt) und ihre Methoden (Verhalten) charakterisiert. OOP ist des weiteren durch die Möglichkeit der Bildung von Unterklassen mit Vererbung und Polymorphie gekennzeichnet. Bevor man sich aber mit der Komplexität und Mächtigkeit von Objekten befasst, muss man sich mit den Elementen beschäftigen, ohne die keine Programmiersprache auskommt, also mit Variablen in Form von Zahlen, logischen Variablen, Zeichen, Zeichenketten und Felder (d.h. indizierte Variable), mit Operatoren wie arithmetische, logische und Vergleichsoperatoren, mit Schleifen und Verzweigungen sowie mit Methoden (Funktionen).

Zunächst stehen daher diese grundlegenden Sprachelemente mit ihren Grammatik- und Syntaxregeln im Vordergrund, bevor auf das OOP-Konzept eingegangen wird. Dabei kommen Klassen nur in Form einer einzigen Applikationsklasse vor.

Das Erlernen von Java soll an Hand von Beispielprogrammen erfolgen, die auch heruntergeladen werden können. Man kann sich die laufenden Arbeitsbögen im Internet ansehen und herunterladen.

Warnung!!

Ganz wichtig und die Quelle vielen Ärgers ist es, dass Groß- und Kleinschreibung unterschieden werden. Das betrifft sowohl die Namen der Quelldatei als auch alle Bezeichner von Klassen, Daten, Methoden. Die Namen für die Quelldatei (z.B. Test.java) müssen identisch sein mit dem Namen der zugehörigen Klasse (z.B. also class Test).

Mit wenigen Ausnahmen werde ich mich an folgende Konvention halten: Alle Variablen- und Methodenbezeichner beginnen mit einem kleinen, alle Bezeichner von Klassen mit einem gorßen Buchstaben.

Weiter mit "Grunddatentypen und ihre Operatoren."