FAQ zum Thema "Java"

Im Folgenden können Sie Ihre Frage einstellen und auch Antworten zu anderen Fragen erstellen bzw. erweitern/ändern.

Dokumentation zu den Standard-Java-Klassen/-Methoden

Frage:

Wo finde ich denn eine Dokumentation zu den ganzen Klassen, die es in der Java-Standard-Bibliothek gibt?

Antwort:

Unter http://java.sun.com/ gibt es eine entsprechende Dokumentation für Java 1.4 und auch Java 1.5.

Bücher zu Java

Frage:

Gibt es im Internet auch kostenlose Bücher über Java?

Antwort:

Ja. Unter http://java.sun.com/docs/books/tutorial/ gibt's Java-Tutorials von Sun und außerdem gibt's auch Java ist auch eine Insel ebenfalls online. Ein weiteres Java-Buch, das auch online zur Verfügung steht, ist "Handbuch der Java-Programmierung" von Guido Krüger, zu finden unter www.javabuch.de.

Import von Paketen

Frage:

Unter welchem Verzeichnis finde ich die ganzen Standard-Java-Pakete, damit ich meinem Compiler sagen kann wo er z.B. das Paket java.math findet. Um also den import-Befehl nutzen zu können....

Antwort:

Die Pakete aus der Standard-Java-Bibliothek muss man nicht in den Klassenpfad aufnehmen, wenn Sie das meinen. Die sind automatisch drin. Man muss sie zur Verwendung also nur noch importieren.

Beispiel:

Folgendes Programm sei in der Datei Test.java:

import java.util.Random;

public class Test {
    public static void main(String[] args) {
        // ...
        Random r = new Random();
        // ...
        System.out.println("zufällig: "+r.nextInt());
        // ...
    }
}
In obigem Programm wird die Klasse Random aus dem Paket java.util verwendet (nur als Beispiel). Kompilieren und ausführen geht wie folgt (ohne Angabe eines Klassenpfades - das ist nur für "Nicht-Standard-Pakete" nötig):
thales$ javac Test.java
thales$ java Test

Makefiles für Java?

Frage:

Könnte jemand ein kurzes Beispiel für makefiles und java angeben? Dies wäre für Blatt 2 sicherlich nützlich.

Antwort:

make ist unabhängig von der verwendeten Sprache. Prinzipiell geht's also genauso wie für C-Programme. Man könnte also beispielsweise ein makefile

Main.class:     Main.java
        javac Main.java
verwenden, um eine Quelldatei Main.java in die entsprechende Klassendatei Main.class zu übersetzen. Wie gesagt geht es analog zu makefiles für C-Programme im Fall mehrerer Klassen. Im Normalfall genügt aber ein javac Main.java für die Klasse mit der main-Methode.

P.S.: Eine relativ einfachere Sache ist ein

javac *.java
auf der Konsole, wenn alle nötigen Java-Files im selben Verzeichnis liegen.

P.P.S.: Im Rahmen der Vorlesung werden wir noch Ant kennenlernen. Damit kann man "bessere" Makefiles für Java erstellen, weil Ant schon auf Java "zugeschnitten" ist.

Pfad zum Kompilieren von Java 1.5-Code?

Frage:

Zum Kompilieren unserer Lösung des aktuellen Übungsblatts brauchen wir den Pfad der JDK1.5 - kann sich jemand erinnern, wie dieser lautet?

Antwort:

Unter /home/sep2006/software/installed/jdk1.5.0_06/ ist die Installation. Im Unterverzeichnis bin/ befinden sich javac und java.
Zudem existiert ein Skript, welches die Umgebungsvariablen PATH und CLASSPATH passend verändert:
. /home/sep2006/software/installed/setvars