Hubert Grassmann
Vorbemerkungen:
Java ist nicht "`einfach"' zu erlernen, es ist eine "`richtige"' Programmiersprache, deren Regeln man sich erarbeiten muß.
Java-Programme werden in einen "`Bytecode"' übersetzt, zur Ausführung ist ein Interpreter notwendig. Daraus resultiert das Vorurteil, daß Java langsam sei. Daran ist etwas Wahres: Rechenintensive Programme können im Vergleich zu C-Programmen bis zum 10-fachen der Rechenzeit benötigen. Daran arbeiten die Java-Entwickler. "`Viele Beobachter gehen davon aus, daß Java-Programme in 2-3 Jahren genausoschnell wie C/C++-Programme laufen."' Dieses Zitat stammt aus dem Jahr 1997.
Das Abtract Windowing Toolkit (AWT), das Graphik-Routinen bereitstellt, werden wir manchmal nutzen, ohne daß hier auf dessen Funktionalität eingegangen wird.
Die zu bearbeitenden Daten werden als "`Variablen"' bezeichnet (dies hat nichts mit dem gleichnamigen Begriff aus der Analysis zu tun!), "`Konstanten"' sind spezielle Variable, deren Wert beim Programmstart feststeht und der nicht mehr geändert werden kann.
Jede im Programm verwendete Variable hat einen Namen, der aus den Zeichen A, B, ... , Z, a, b, ... z, 0, ... , 9 und dem Unterstrich zusammengsetzt ist; dabei darf das erste Zeichen keine Ziffer sein.
Vor einer ersten Verwendung einer Vaiablen muß der "`Typ"' der Variablen festgelegt werden (die Variable wird "`deklariert"'). Der Typ einer Variablen legt einerseits fest, wieviel Speicherplatz hierfür bereitgestellt werden soll; andererseits wird anhand der Typen während der Übersetzung festgestellt, ob mit den Operanden auszuführende Operationen erlaubt sind, eine Typunverträglichkeit führt zu einem Syntaxfehler. Dies ist für den Programmierer oft ärgerlich, aber immer hilfreich, weil sich bei Syntaxfehlern (neben Schreibfehlern) oft echte Programmierfehler entdecken lassen. Allerdings sind verschiedene Programmiersprachen unterschiedlich streng bei der Typ-Prüfung. Manche Sprachen lassen sogar arithmetische Operationen zwischen Zahlen und Wahrheitswerten zu. Auf der anderen Seite ist manchmal eine Typ-Umwandlung notwendig, hierzu werden spezielle Funktionen bereitgestellt ((float) 1.0 ), oder die Programmierer greifen zu "`dirty tricks"', wobei sie bei Java auf Granit beißen. Viele Fehler, die z.B. beim Programmieren in C++ dadurch entstehen, daß der Programmierer für die Speicherverwaltung selbst zuständig ist, können bei Java nicht mehr auftreten. Es gibt keine Pointer.