Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Handbuch der Java-Programmierung |
<< | < | > | >> | Kapitel 2 - Schnelleinstieg |
Falls Sie die ersten Gehversuche in Java machen wollen, ohne erst viele Grundlagen lernen zu müssen, oder wenn Sie einfach nur daran interessiert sind, möglichst schnell Ihr erstes Java-Programm auszuführen, dann sollten Sie diesen Abschnitt lesen. Sie erfahren hier in einer kurzen Anleitung, wie Sie ein einfaches Programm erstellen und mit den Werkzeugen des JDK übersetzen und ausführen. Zusätzlich gibt es einige Hinweise, um zeilenorientierte Ein- und Ausgaben durchzuführen.
Installieren Sie das JDK wie in Abschnitt 2.1 beschrieben, und sorgen Sie dafür, daß in Ihrer Pfadangabe das Verzeichnis \jdk1.3\bin enthalten ist. Falls Sie das JDK nicht nach c:\jdk1.3 installiert haben, passen Sie die Pfadangaben entsprechend an. Ein Aufruf von PATH zeigt an, ob der Pfad korrekt gesetzt ist, durch Eingabe von java -version können Sie die installierte JDK-Version überprüfen:
Abbildung 2.1: Ist das JDK korrekt installiert?
Erstellen Sie mit einem beliebigen Texteditor die folgende Datei Hello.java:
001 /* Hello.java */ 002 003 public class Hello 004 { 005 public static void main(String[] args) 006 { 007 System.out.println("Hello, world"); 008 } 009 } |
Hello.java |
Die korrekt erstellte Datei enthält die Definition der Klasse Hello mit der Methode main, die das Hauptprogramm unserer Applikation enthält.
Achten Sie bei der Vergabe der Datei- und Klassennamen auf korrekte Groß-/Kleinschreibung. Sowohl der Compiler als auch das Laufzeitsystem erwarten, daß die Hauptklasse einer Quelldatei genauso geschrieben wird wie der Name der Datei, in der sie sich befindet. Der Dateiname unserer Beispielklasse Hello lautet daher Hello.java, und nicht hello.java, HELLO.JAVA oder HELLO.JAV. Erstellen Sie die Datei nicht auf Systemen oder Laufwerken (beispielsweise im Netz), die keine langen Dateinamen unterstützen. Der Compiler würde die Datei in diesem Fall nicht finden. |
|
Sie können zum Editieren beispielsweise notepad oder edit (unter Windows) oder vi oder Emacs (gibt es für UNIX und Windows) verwenden. Ein guter Windows-Editor, der fast ebensoviel kann wie seine professionellen (und sehr viel teureren) Brüder, ist TextPad von Helios Software Solutions. Eine Testversion kann von http://www.textpad.com heruntergeladen werden, die Vollversion ist für wenig Geld zu haben. Wer ein wenig Einarbeitungszeit, Konfigurationsaufwand und das Erlernen von Grundkenntnissen in LISP nicht scheut, der sollte sich Emacs näher ansehen.
Abbildung 2.2: Hello.java im Windows-Notepad
Werden die (wenig empfehlenswerten) Windows-Editoren notepad oder edit verwendet, wird man als Anfänger einige Überraschungen erleben:
|
|
Übersetzen Sie die Datei mit dem Kommando javac (so heißt der Java-Compiler des JDK). Wenn Sie keinen Fehler gemacht haben, wird der Compileraufruf kommentarlos akzeptiert, und Sie sehen wieder den DOS-Prompt:
Abbildung 2.3: Übersetzen von Hello.java
Alle wichtigen Werkzeuge des JDK arbeiten kommandozeilenorientiert. Sie haben also keine grafische Oberfläche, sondern werden in einer DOS-Box aufgerufen und durch Aufrufparameter gesteuert. Eine integrierte Entwicklungsumgebung mit integriertem Editor, Compiler und Debugger bietet das JDK nicht. Eine Übersicht über die JDK-Werkzeuge und ihre Bedienung finden Sie in Kapitel 49. |
|
Sie haben nun eine Datei Hello.class erzeugt, die mit dem Java-Interpreter ausgeführt werden kann. Das Programm wird aufgerufen und gibt die gewünschte Meldung auf dem Bildschirm aus:
Abbildung 2.4: Ausführen von Hello
Ein Java-Programm wird automatisch beendet, wenn seine main-Methode beendet wurde. In unserem Fall also nach der Ausgabe von »Hello, world«. Es gibt natürlich auch Fälle, bei denen ein gestartetes Programm nicht ordnungsgemäß beendet wird und auch auf Benutzereingaben nicht mehr reagiert. Meistens ist dafür eine Endlosschleife verantwortlich, wir werden aber (bei der Anwendung von Threads) noch einen weiteren Grund dafür kennenlernen. Glücklicherweise läßt sich die virtuelle Maschine, in der das Java-Programm läuft, fast immer durch Drücken von [STRG]+[C] abbrechen. Diese »Notbremse« sollte allerdings nur im Notfall gezogen werden, denn sie beendet das Programm augenblicklich und hinterläßt dessen Daten möglicherweise in einem inkonsistenten Zustand.
Auf die im vorigen Abschnitt beschriebene Weise können nun beliebige Java-Programme angelegt, übersetzt und ausgeführt werden. Die im Buch abgedruckten Beispielprogramme befinden sich auf der CD-ROM im Verzeichnis \examples. Kopieren Sie diese einschließlich der darin enthaltenen Unterverzeichnisse in ein beliebiges Verzeichnis auf Ihrer Festplatte. Benutzen Sie einen beliebigen Editor zur Eingabe oder Veränderung von .java-Dateien, übersetzen Sie die Datei mit dem Kommando javac, und starten Sie das fertige Programm mit dem Kommando java. Falls Sie ein Applet geschrieben haben, erstellen Sie zusätzlich eine passende HTML-Datei, und starten Sie das Programm mit dem Kommando appletviewer anstatt mit java. Die Originalversionen der Beispielprogramme wurden bereits vorkompiliert und können direkt mit dem Java-Interpreter ausgeführt werden.
Als Entwicklungssysteme für dieses Buch wurden die Versionen 1.1, 1.2 und 1.3 des JDK unter Windows 95/98 verwendet. Die meisten Beispiele wurden auf diesem System entwickelt und getestet. Einige Beispiele wurden auch unter Windows NT oder S.U.S.E Linux 5.2 entwickelt und getestet. In die Beispiellistings aus dem AWT sind einige Hinweise von Lesern mit SUN-Solaris-Plattformen eingeflossen. Keines der Programme wurde vom Autor auf einem Macintosh getestet (mangels Verfügbarkeit). Bei Verwendung anderer Plattformen könnte es zu leichten Abweichungen bei der Installation, der Funktionalität der Entwicklungswerkzeuge oder den Eigenschaften der Standardbibliothek kommen. |
|
Es ist bekannt, daß man sich über die Formatierung von Quelltexten und die Einrückung von Deklarationen und Anweisungen streiten kann. Jeder Entwickler hat seinen eigenen Stil und kennt gute Argumente, genau diesen zu verwenden. Mittlerweile gibt es einige große Lager, denen man sich anschließen kann, manchmal ist man auch gezwungen, sich einem vorgegebenen Style-Guide anzupassen. Wir wollen uns diesen fruchtlosen Diskussionen nicht anschließen und keinesfalls behaupten, die in diesem Buch verwendete Art, Sourcecode zu formatieren, wäre die einzig richtige. Dennoch wurde versucht, die Beispielprogramme konsistent zu formatieren und dabei einige wenige Regeln einzuhalten.
Bei Klassen- und Methodendefinitionen stehen die geschweiften Klammern unterhalb der Deklarationsanweisung, und die eigentliche Deklaration ist eingerückt:
001 import java.io.*; 002 003 public class Listing0202 004 { 005 public static void main(String[] args) 006 { 007 //Hier steht der Methodenrumpf 008 } 009 } |
Bei Kontrollanweisungen innerhalb einer Methode schreiben wir die öffnende Klammer dagegen in dieselbe Zeile wie die einleitende Anweisung:
001 for (int i = 0; i < aNeighbours.length; ++i) { 002 if (p1.x + aNeighbours[i][0] == p2.x) { 003 if (p1.y + aNeighbours[i][1] == p2.y) { 004 return true; 005 } 006 } 007 } |
Dies gilt auch für fortgesetzte Anweisungen wie beispielsweise else oder else if:
001 if (cmd.equals("Größer")) { 002 d.height *= 1.05; 003 d.width *= 1.05; 004 } else if (cmd.equals("Kleiner")) { 005 d.height *= 0.95; 006 d.width *= 0.95; 007 } else { 008 x = 10; 009 } |
Diese Technik verwenden wir meist auch, wenn bei einem Methodenaufruf nicht alle Argumente in eine Zeile passen:
001 System.out.println( 002 "Grüße aus Hamburg".regionMatches( 003 8, 004 "Greetings from Australia", 005 8, 006 2 007 ) 008 ); |
Diese einfachen Regeln lassen sich in den meisten Fällen anwenden, es gibt aber auch Fälle, in denen sie versagen. So zum Beispiel, wenn der Testausdruck einer if-Anweisung über mehrere Zeilen geht, wenn die Parameterdeklaration einer Methode nicht in eine Zeile paßt oder schlicht, wenn die Verschachtelung bereits sehr tief ist und keine weitere Einrückung zuläßt. In diesem Fall sei der Leser um Nachsicht gebeten und aufgefordert, den ästhetischen Anspruch an das Programm den jeweiligen pragmatischen Erwägungen unterzuordnen.
Titel | Inhalt | Suchen | Index | API | Go To Java 2, Zweite Auflage, Addison Wesley, Version 2.0 |
<< | < | > | >> | © 2000 Guido Krüger, http://www.gkrueger.com |