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.
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).
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.
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.