From 33613a85afc4b1481367fbe92a17ee59c240250b Mon Sep 17 00:00:00 2001 From: Sven Eisenhauer Date: Fri, 10 Nov 2023 15:11:48 +0100 Subject: add new repo --- .../hjp5/html/k100015.html | 584 +++++++++++++++++++++ 1 file changed, 584 insertions(+) create mode 100644 Master/Reference Architectures and Patterns/hjp5/html/k100015.html (limited to 'Master/Reference Architectures and Patterns/hjp5/html/k100015.html') diff --git a/Master/Reference Architectures and Patterns/hjp5/html/k100015.html b/Master/Reference Architectures and Patterns/hjp5/html/k100015.html new file mode 100644 index 0000000..06ce117 --- /dev/null +++ b/Master/Reference Architectures and Patterns/hjp5/html/k100015.html @@ -0,0 +1,584 @@ + + + +Handbuch der Java-Programmierung, 5. Auflage + + + + + + + + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage +
 <<  +  <   +  >   + >>  + API  +Kapitel 2 - Schnelleinstieg +
+
+ + + + +

2.2 Erste Gehversuche

+
+ +
+ +

+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 den vorliegenden Abschnitt lesen. +Sie erfahren hier in komprimierter Form, wie Sie ein einfaches Programm +erstellen und mit den Werkzeugen des JDK übersetzen und ausführen. +Zusätzlich gibt es einige Hinweise, um einfache Ein- und Ausgaben +durchzuführen. + + + + +

2.2.1 Quelltext erstellen, übersetzen und ausführen +

+ + + + +

1. Vorbereitung

+ +

+Installieren Sie das JDK wie in Abschnitt 2.1 +beschrieben, und sorgen Sie dafür, dass in Ihrer Pfadangabe das +Verzeichnis \jdk1.6\bin enthalten ist. +Falls Sie das JDK nicht nach c:\jdk1.6 +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?

+

+ + + + + + + + + + + +
+ +

+Seit Java 5.0 unterstützen nicht nur der Interpreter, sondern +auch der Java-Compiler den Schalter -version. +Durch Eingabe von javac -version +können Sie also überprüfen, ob auch der Java-Compiler +in der aktuellsten Version vorliegt. Ältere Compiler-Versionen +geben eine Fehlermeldung aus.

+ + + + +
 JDK1.1-6.0 
+
+ + + + +

2. Erstellen des Quelltextes +

+ +

+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
+ +Listing 2.1: Hello, world

+ +

+Die korrekt erstellte Datei enthält die Definition der Klasse +Hello mit der Methode main, +die das Hauptprogramm unserer Applikation enthält. Bitte geben +Sie die am Anfang jeder Zeile stehenden Zeilennummern nicht +mit ein. Sie dienen lediglich dazu, auf Teile des Listings verweisen +zu können und werden beim Erstellen des Buchs automatisch generiert. +Der Java-Compiler kann damit nichts anfangen. +

+ + + + + + + + + + + +
+ +

+Achten Sie bei der Vergabe der Datei- und Klassennamen auf korrekte +Groß-/Kleinschreibung. Sowohl der Compiler als auch das Laufzeitsystem +erwarten, dass 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.

+ + + + +
 Warnung 
+
+ +

+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. Wenn Sie statt eines Editor +lieber mit einer auf Java abgestimmten Integrierten Entwicklungsumgebung +(IDE) arbeiten ist das freie Eclipse-Framework oder die IntelliJ IDEA +eventuell das richtige für Sie. Beide sind ebenfalls vollständig +in Java geschrieben und liegen als Testversion der DVD bei. +

+ + +

+ +

+Abbildung 2.2: Hello.java im Windows-Notepad

+

+ + + + + + + + + + + +
+ +

+Werden die (wenig empfehlenswerten) Windows-Editoren notepad +oder edit verwendet, kann man als Anfänger unter Umständen +einige Überraschungen erleben: +

    +
  • notepad hängt beim ersten Speichern einer Datei die +Erweiterung .txt an den Dateinamen an. +Aus Test1.java wird also Test1.java.txt. +Eine solche Datei wird von javac +natürlich nicht mehr akzeptiert. Nach dem ersten Speichern muss +also zunächst durch Umbenennen im Explorer der korrekte Dateiname +hergestellt werden. Wird die Datei wiederholt geöffnet und gespeichert, +treten diese Probleme nicht mehr auf. Alternativ kann beim ersten +Speichern der Dateiname in Anführungszeichen gesetzt werden, +also »Test1.java« geschrieben werden. +
  • Wird edit verwendet, kann es zwei Probleme geben. Erstens +verwendet das Programm den MS-DOS-Zeichensatz und versieht so Programme +mit Windows-Oberfläche mit unbrauchbaren Umlauten (sie wären +dann nur für Windows-Konsolenanwendungen korrekt). Zweitens unterstützt +edit unter NT 4 keine langen Dateinamen. Das Programm würde +beispielsweise die Datei Test1.java als +TEST1.JAV abspeichern und somit ebenfalls +für den Compiler unerreichbar machen. +
+
+ + + + +
 Warnung 
+
+ + + + +

3. Übersetzen des Quelltextes

+ +

+Ü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 DOS-Box wird unter Windows +9x über den Eintrag »MS-DOS-Eingabeaufforderung« aufgerufen, +der im Startmenü unter »Programme« liegt. Eine Übersicht +über die JDK-Werkzeuge und ihre Bedienung finden Sie in Kapitel 51.

+ + + + +
 Hinweis 
+
+

+ + + + + + + + + + + +
+ +

+Falls Sie Programme schreiben, in denen die sprachlichen Erweiterungen +der Java-Versionen 1.4 oder höher verwendet werden, müssen +Sie unter Umständen eine der Compileroptionen -source 1.4 +bzw. -source 1.5 +angeben, damit der Compiler die Programme übersetzen kann. Dies +betrifft vor allem die in Abschnitt 6.4.1 +beschriebenen Assertions und einige der mit der J2SE 5.0 eingeführten +Spracherweiterungen.

+ + + + +
 Warnung 
+
+ + + + +

4. Ausführen des erzeugten Programms

+ +

+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

+

+ + + + + + + + + + + +
+ +

+Wenn der Interpreter den Bytecode zur angegebenen Klassendatei nicht +finden kann, gibt er eine Fehlermeldung NoClassDefFoundError +aus. Wenn die .class-Datei tatsächlich +vorhanden ist, liegt das fast immer daran, dass der Name der Klasse +falsch geschrieben wurde oder dass darin keine oder eine falsch deklarierte +main-Methode +vorhanden ist. Beachten Sie, dass die Erweiterung .class +beim Aufruf des Interpreters nicht an den Namen der auszuführenden +Klasse angehängt werden darf.

+ + + + +
 Warnung 
+
+ + + + +

5. Beenden des Programms

+ +

+Ein einfaches Java-Programm wird automatisch beendet, wenn seine main-Methode +beendet wurde (in welchen Fällen das nicht so ist, wird am Ende +von Abschnitt 22.2.1 beschrieben). +Unser Programm wird also nach der Ausgabe von »Hello, world« +beendet. Es gibt natürlich auch Fälle, bei denen ein gestartetes +Programm nicht ordnungsgemäß zum Ende kommt und auch auf +Benutzereingaben nicht mehr reagiert - meistens ist dafür eine +Endlosschleife verantwortlich. 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ässt +dessen Daten möglicherweise in einem inkonsistenten Zustand. +

+ + + + + + + + + + + +
+ +

+Falls Sie es trotz aller Bemühungen bis zu diesem Punkt noch +nicht geschafft haben, das Beispiel zu übersetzen und zu starten, +kann Ihnen möglicherweise Abschnitt 2.3.7 +weiterhelfen. Er beschreibt einige häufig vorkommende Fehler, +gibt Tipps zu ihrer Diagnose und zeigt, wie man sie behebt.

+ + + + +
 Tipp 
+
+ + + + +

2.2.2 Die Beispielprogramme

+ + + + +

Starten der Beispielprogramme

+ +

+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 DVD +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 bis 6.0 des JDK verwendet. Die meisten Beispiele wurden unter +Windows 95, 98 und XP entwickelt und getestet, einige wenige auch +unter NT, SUSE Linux oder Solaris. 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. +

+ + + + + + + + + +
+ +

+Die .class-Dateien im \examples-Verzeichnis +der DVD wurden mit dem Java-6.0-Compiler erzeugt. Falls es Probleme +geben sollte, ein bestimmtes Beispielprogramm mit einem älteren +Java-Interpreter zu starten, hilft eventuell Neukompilieren dieses +Programms mit dem älteren Compiler. Nur eine Handvoll Beispielprogramme +verwenden Code, der mindestens das JDK 1.4, 5.0 oder sogar 6.0 erfordert, +die meisten können auch mit älteren JDKs kompiliert und +ausgeführt werden.

+ + + + +
 Hinweis 
+
+ + + + +

Zusätzlich erforderliche Dateien

+

+ + + + + + + + + + + +
+ +

+Der mit Abstand häufigste Fehler beim Starten der Beispielprogramme +passiert dadurch, dass nicht alle benötigten .class-Dateien +im aktuellen Verzeichnis liegen. Denn neben der kompilierten Klassendatei +benötigen die Beispielprogramme mitunter weitere .class-Dateien. +Werden die Beispiele direkt aus dem examples-Verzeichnis +der DVD (oder einer vollständigen Kopie davon) gestartet, treten +keine Probleme auf. Werden jedoch nur einzelne Klassendateien kopiert, +kann es beim Aufruf von java +zu Fehlern des Typs NoClassDefFoundError +kommen. Der häufigste weist auf einen fehlenden WindowClosingAdapter +hin, der von den meisten GUI-Beispielen benötigt wird. In diesem +Fall müssen lediglich die fehlenden Dateien WindowClosingAdapter.java +und WindowClosingAdapter.class aus dem +examples-Verzeichnis in das aktuelle +Verzeichnis kopiert werden.

+ + + + +
 Warnung 
+
+ +

+Mitunter werden neben den .class-Dateien +noch weitere Dateien benötigt, damit das Beispiel korrekt läuft. +So erfordert etwa Listing 27.4 +zusätzlich die Datei testicon.gif, +damit das Fenster-Icon korrekt angezeigt wird. Und um das Beispiel +zum Abspielen von Midi-Dateien in Abschnitt 49.3.5 +wie angegeben ausführen zu können, wird die Datei ame.mid +benötigt. Diese Dateien liegen in aller Regel ebenfalls im examples-Verzeichnis +und sollten bei Bedarf auch in das Startverzeichnis des Beispielprogramms +kopiert werden. + +

+In einigen Kapiteln werden Themen behandelt, die zusätzliche +jar-Archive fordern, weil die entsprechende Funktionalität nicht +im Standardumfang des JDK enthalten ist oder weil herstellerspezifische +Treiber erforderlich sind. Hierzu zählen insbesondere Abschnitt 13.5.3, +Abschnitt 26.4.1 und Kapitel 42. +Wo die entsprechenden jar-Archive zu finden sind, wird in den jeweiligen +Abschnitten erläutert. Wie sie in den CLASSPATH +eingebunden werden, damit Compiler und Interpreter sie finden, wird +in Abschnitt 13.2.3 +erklärt. +


+ + + +
 Titel  + Inhalt  + Suchen  + Index  + DOC  +Handbuch der Java-Programmierung, 5. Auflage, Addison +Wesley, Version 5.0.1 +
 <<  +  <   +  >   + >>  + API  +© 1998, 2007 Guido Krüger & Thomas +Stark, http://www.javabuch.de +
+ + + -- cgit v1.2.3