Hello World!

obligatorisches Hello World Beispiel

Java ist von Grund auf eine objektorientierte Programmiersprache. Deshalb sieht der Quelltext zu diesem einfachen Programm vieleicht etwas kompliziert aus.


  public class Tutor01 {

    public static void main(String[] args) {
      System.out.println("Hello World!");
    }

  }

Im Gegensatz zu C++ oder Pascal muss auch das Hauptprogramm eine Methode einer Klasse sein. Hier wird einfach eine neue Klasse namens Tutor01 deklariert. Damit Java die Methode als Hauptprogramm erkennt, muss sie den Namen main tragen. Auch die Schlüsselworte vor dem Methodennamen und der Parameter muss genau so aussehen (na ja, man könnte auch String args[] schreiben, was aber genau das gleiche bedeutet). Was die ganzen Schlüsselworte aussagen, die schon für dieses kleine Beispiel alle notwendig sind, wird später erläutert.

Quelltext compilieren

Der gesamte Quelltext sollte sich in einer Datei namens Tutor01.java befinden. Es ist wichtig, dass die Datei genau so heisst wie die Klasse, inklusive Gross- und Kleinschreibung. Bei Java ist alles case-sensitive, das betrifft die Namen von Klassen, Variablen, Primitivtypen, Schlüsselworten und alles andere. Als erstes muss der Quelltext mit dem Befehl


  javac Tutor01.java

in einer Konsole compiliert werden. Dabei kann man auch wildcards benutzen, zum Beispiel


  javac *.java

Der Compiler erstellt, falls keine Fehlermeldungen erscheinen, die Datei Tutor01.class. Diese enthält den so genannten Bytecode. Im Gegensatz zu Maschinencode, der etwa von einem C++-Compiler erstellt wird (dazu zählen z.B. exe- und dll-Dateien unter Windows), kann der Bytecode nicht direkt vom Prozessor ausgeführt werden. Um das Programm zu starten wird ein Interpret, genauer eine Java Virtual Machine, benötigt. Eine solche VM ist für alle gängigen Betriebssysteme erhältlich (z.B. das Java Runtime Environment JRE von Sun unter java.sun.com, zum Compilieren wird das Java Software Development Kit J2SDK benötigt, welches dann auch das JRE enthält).

Bytecode ausführen

Gestartet wird das obige Beispiel mit der Anweisung


  java Tutor01

Die Dateiendung .class wird weggelassen, der Interpret bekommt nur den Namen der Klasse als Parameter. Wenn alles geklappt hat, sollte in der Konsole der Text Hello World! erscheinen.

Warum Bytecode?

Der grösste Unterschied zwischen Java und anderen Programmiersprachen, wie z.B. C++, liegt in der Erstellung von Bytecode durch den Compiler. Deshalb wird zum Ausführen eine Virtual Machine benötigt. Der Vorteil liegt darin, dass der Bytecode platformunabhängig auf allen Betriebssystemen ausgeführt werden kann, sofern eine passende VM existiert. Man kann also unter Windows entwickelte und compilierte Programme ohne jegliche Änderung oder Neu-Compilierung auch unter Linux oder Solaris starten. Dieser Vorteil kommt hauptsächlich den Applets zu gute, die innerhalb eines Browsers aus dem Internet heraus laufen. Dabei braucht sich der Entwickler der Homepage und des Applets keine Gedanken darüber machen, welches Betriebssystem oder welche Hardware auf dem Client zur Verfügung steht.

Es existiert sogar eine Micro-Edition von Java, mit der man Java-Programme auf Handys ausführen kann. Dabei spielt es dann auch keine Rolle, welche Auflösung das Display hat, ob es Farben darstellen kann oder nur Graustufen, oder ob der Prozessor im Handy eine Gleitkommaeinheit besitzt.


Erstellt von Markus Durzinsky, aktualisiert 2004-05-06
Für Fragen, Probleme oder Anregungen stehe ich gerne zur Verfügung