Der erste Schritt in nahezu jedem Programmierkurs ist das berühmte „Hello World“-Programm. Es dient nicht dazu, komplexe Probleme zu lösen, sondern um dir den grundlegenden Ablauf beim Erstellen, Kompilieren und Ausführen eines Java-Programms zu zeigen.
Mit nur wenigen Zeilen Code lernst du:
- wie ein Java-Programm aufgebaut ist,
- wie Klassen und Methoden definiert werden,
- und wie du Textausgaben auf dem Bildschirm erzeugst.
Das „Hello World“-Beispiel ist bewusst einfach gehalten. Es zeigt dir, dass du mit Java bereits nach kürzester Zeit sichtbare Ergebnisse erzielen kannst. Gleichzeitig bildet es die Grundlage, auf der wir in den nächsten Beiträgen Schritt für Schritt aufbauen werden.
Hello World
Erstellen des Programms
Öffne den Texteditor deiner Wahl und gib folgende Zeilen ein:
public class HelloWorld {
public static void main (String args []) {
System.out.println("Hello World!");
}
}
Danach speicherst du dieses Programm in einem Ordner, welchen du einfach über die Kommandozeile findest, unter dem Namen „HelloWorld.java“ ab.
💡Hinweis: Der Dateiname muss unbedingt dem Klassennamen nach „class“ entsprechen!
Kompilierung
Um das soeben erstellte Programm in den durch die JVM lesbaren Bytecode zu kompilieren ist das Programm „javac“ zu verwenden. Hierfür muss zuerst ein Terminal oder die Eingabeaufforderung geöffnet werden.
Mit „cd“ gefolgt von dem Pfad zur Datei wird zum Ordner, in dem die Java-Datei gespeichert ist, navigiert. Ein Beispiel hierfür ist:
C:\Users\Axel\> cd \Dokumente\ Java\HalloOrdner
Dann ist die Datei zu kompilieren mit:
Javac HelloWorld.java
Erfolgt keine Meldung auf der Kommandozeile, so ist der Prozess erfolgreich durchgeführt worden. Bei einer Ausgabe muss die Fehlermeldung betrachtet und ggf. etwas am Dateinamen, Pfad oder dem Programm angepasst werden.
Es befindet sich nun eine Datei mit dem Namen „HelloWorld.class“ im Ordner.
Ausführen
Im Ordner verbleibend genügt zum Ausführen des Programms der Befehl:
Java HelloWorld
Danach muss auf der Kommandozeile die Ausgabe mit „Hello World!“ erfolgen.
Zusammensetzung des Programms
Dieses Beispiel verdeutlicht den grundlegenden Aufbau eines Java-Programms: Jeder Programmcode muss, mit Ausnahme von import- und package-Anweisungen, in Java innerhalb einer Klasse stehen.
Farblich gestalteter Quellcode des Programms „HelloWorld“. Quelle: Technik-Kiste.de
Klasse / Class
Eine Klasse (Blau) wird mit dem Schlüsselwort class eingeleitet, gefolgt vom frei wählbaren Klassennamen. Im Beispiel wurde der Namen HelloWorld (Türkis) verwendet, dieser wurde lediglich als anschauliche Bezeichnung gewählt und könnte durch jeden anderen passenden Namen ersetzt werden.
In Java beginnen Klassennamen üblicherweise mit einem Großbuchstaben und dürfen sowohl Buchstaben als auch Ziffern enthalten (z. B. HelloWorld2).
💡Hinweis: Ein Klassenname darf nicht mit einer Zahl beginnen. Ebenso sind Sonderzeichen wie Bindestriche oder Leerzeichen unzulässig. Für die Benennung hat sich der sogenannte CamelCase-Stil etabliert: Mehrteilige Namen werden durch Großbuchstaben getrennt, etwa HelloWorld. Schreibweisen wie Helloworld oder gar hello world sind dagegen nicht korrekt.
Vor dem Schlüsselwort class steht im Beispiel zusätzlich das Schlüsselwort public (Blau). Damit wird die Klasse als öffentlich sichtbar gekennzeichnet und kann auch von anderen Klassen aus genutzt werden. Streng genommen ist dieses Schlüsselwort hier nicht zwingend erforderlich, es schadet jedoch auch nicht, es zu verwenden.
Eine Klasse beginnt stets mit einer öffnenden geschweiften Klammer {. Der nachfolgende Code wird eingerückt und bildet den Inhalt der Klasse. Am Ende der Quellcodedatei wird die Klasse mit der entsprechenden schließenden Klammer } abgeschlossen.
Methode
Innerhalb der Klasse, also zwischen der öffnenden ({) und der schließenden (}) geschweiften Klammer, befindet sich genau eine Methode mit dem Namen main (Gelb).
Diese Methode trägt die spezielle Signatur public static void main(String[] args) und bildet den Einstiegspunkt jedes Java‑Programms. Ohne diese Methode kann ein Java‑Programm nicht gestartet werden, da sie die Ausführung des Codes steuert.
Von hier aus können selbstverständlich weitere Methoden aufgerufen werden – ein Prinzip, das dir möglicherweise schon aus Sprachen wie C, C++, C# oder Python vertraut ist.
Die Methode main muss als public deklariert sein, da das Java‑Laufzeitsystem sie sonst nicht aufrufen könnte. Zusätzlich trägt sie das Schlüsselwort static, das sie als statische Methode kennzeichnet. Das bedeutet, dass sie keiner Objektinstanz zugeordnet ist, sondern unabhängig von einem konkreten Objekt existiert. Auch wenn die Rolle von static anfangs etwas abstrakt wirkt, wird ihre Bedeutung im weiteren Verlauf der Programmierung klarer.
Wie bei Klassen wird auch bei Methoden der Beginn und das Ende durch ein Paar geschweifter Klammern { ... } markiert.
Prozedur oder Methode?
In der objektorientierten Programmierung bezeichnet man eine Methode als eine Prozedur, die einer Objektinstanz zugeordnet ist. Sie kann den Zustand eines Objekts auswerten und bei Bedarf verändern. Alan Kay, einer der Pioniere der Objektorientierung, beschrieb Methoden treffend als „Nachrichten, die wir einem Objekt schicken“. So könnte man einem Kreis‑Objekt in einem Malprogramm die Nachricht übermitteln, dass es sich neu zeichnen soll.
Im Fall der statischen main‑Methode existiert jedoch keine konkrete Objektinstanz. Streng genommen handelt es sich hier eher um eine Prozedur innerhalb einer Klasse – wobei in Java ohnehin alle Methoden bzw. Prozeduren in Klassen definiert sein müssen. Im allgemeinen Sprachgebrauch hat sich deshalb der Begriff „statische Methode“ etabliert.
Rückgabemethode
Als Nächstes folgt der Rückgabetyp der Methode. Im Fall der main‑Methode muss dieser void lauten. Das bedeutet, dass die Methode keinen Wert an die aufrufende Stelle zurückgibt. Void steht sinngemäß für „die Leere“ oder „das Nichts“.
In den runden Klammern nach dem Methodennamen werden die Parameter der Methode angegeben. Bei der main‑Methode ist dies ein Array vom Typ String, das üblicherweise den Namen args trägt. Darüber übergibt Java die Aufrufparameter an das Programm, sofern es mit Parametern gestartet wurde. Werden keine Parameter benötigt, kann das Array zwar ignoriert, aber nicht weggelassen werden.
Anweisung
Die main‑Methode enthält in unserem Beispiel genau eine Anweisung, die dafür sorgt, dass die Zeichenkette "Hello World!" auf der Konsole ausgegeben wird. Zeichenketten in Java werden dabei stets in doppelte Anführungszeichen gesetzt.
Genauer gesagt wird hier die Methode println (kurz für print line) des Objekts out aus der Klasse System aufgerufen. Als einzigen Parameter übergeben wir die gewünschte Zeichenkette. Damit senden wir dem out‑Objekt die Nachricht, den angegebenen Text auf der Konsole auszugeben.
