Hello World!

In der Welt der Programmierung hat es sich so eingebürgert, dass das erste Programm das man in einer neuen Programmiersprache schreibt ein „Hello World!“-Programm ist.
So ein Programm macht nichts anderes als den Text nach dem es benannt ist auszugeben. Obwohl es auf den ersten Blick nicht gerade spannend ist, hat es durchaus einen Sinn. Man kann mit so einem Programm prüfen, ob Compiler und sonstige benötigte Software (z. B. Laufzeitumgebung) richtig installiert worden sind. Außerdem lernt man, wie man Programme erstellt und bekommt einen ersten Eindruck der Sprachsyntax.

Vorbereitungen

Bevor wir mit dem eigentlichen eingeben des Codes loslegen können, müssen noch ein paar Kleinigkeiten erledigt werden.

Ordner anlegen

Am besten legt man sich einen Ordner für alle Projekte des Tutorials an, um den Überblick zu bewahren. Beispielsweise kann dazu ein Ordner „java_proggen“ angelegt werden, in dem alle Projekte in Unterordnern platziert werden. Natürlich bleibt diese Struktur jedem selbst überlassen und kann auch anders benannt und strukturiert werden.

Für das erste Programm wird ein weiterer Ordner „hello_world“ im Projektordner angelegt. Der relative Pfad für das „Hello World!“-Projekt sieht jetzt also so aus: „java_proggen/hello_world“.

Quelltext-Datei anlegen

Im neu angelegten Ordner „hello_world“ wird nun eine Textdatei benötigt. Diesen wird „HelloWorld.java“ genannt. Bitte in diesem Fall an den Namen hier im Tutorial halten, das ist für die Funktionalität von Bedeutung!

Die Datei muss also genau so heißen und die Dateiendung darf nicht „*.txt“ sein, sondern muss wie oben beschrieben wirklich „*.java sein. Diese Endung sagt aus, dass es sich um eine Java Quelltext Datei handelt. Das ist nicht nur für den Java-Compiler wichtig, sondern auch für den Entwickler.

Bei Windows Systemen werden Dateiendungen standardmäßig nicht angezeigt. Eine Anleitung zum Einblenden der Dateierweiterungen findet sich im Windows-FAQ.

Programm erstellen

Nachdem nun wirklich alles vorbereitet ist, kann mit der Erstellung des Programms begonnen werden.

Quelltext eingeben

Die zuvor angelegte Datei „HelloWorld.java“ muss mit einem Texteditor geöffnet werden. Danach soll sie folgenden Inhalt haben:

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

Das Speichern der Datei darf man natürlich nicht vergessen.

Kompilieren

Nun haben wir in der Datei für Menschen lesbaren Code. Da dieser aber wie bereits erwähnt in ein eigenes - für die JVM verständliches - Format konvertiert werden muss, kommt nun der Java-Compiler ins Spiel.

Dazu wird die Kommandozeile im Programmverzeichnis „proggen_java/hello_world“ gestartet. Bei Ausführung des Befehls „dir“ unter Windows bzw. „ls“ unter Linux sollte also nur die Datei „HelloWorld.java“ ausgegeben werden.

Nun wird der Java-Compiler mit der Quelldatei als Parameter gestartet:

$ javac HelloWorld.java

Wenn der Kompiliervorgang erfolgreich war, wurde eine Datei „HelloWorld.class“ im Programmverzeichnis erstellt. Diese Class-Datei enthält den für die JVM lesbaren und ausführbaren Bytecode.

Ausführen

Mit dem Befehl

$ java HelloWorld

sagen wir der JVM, dass das gerade erstellte Programm ausgeführt werden soll.

Jetzt sollte folgende Zeichenkette auf der Konsole ausgegeben werden: Hello World!

Glückwunsch, du hast soeben dein erstes Programm erstellt, kompiliert und ausgeführt :-)

Erklärung

Ein Anfänger wird sich jetzt fragen, was die einzelnen Anweisungen überhaupt machen und vielleicht denkt sich der ein oder andere, dass das erstmal relativ kompliziert ausschaut.

Es ist an dieser Stelle nicht notwendig jede Anweisung im Detail zu verstehen, dazu werden wir im Laufe des Tutorials noch kommen. Trotzdem soll hier noch ein kurzer Überblick über die verwendeten Syntax-Elemente gegeben werden. Dazu wird der Code nun Zeile für Zeile erklärt.

public class HelloWorld {

Hier wird eine Klasse mit Namen HelloWorld definiert. Erstmal ist es nicht wichtig zu wissen, was genau eine Klasse ist. Was genau es damit auf sich hat, wird in späteren Artikeln noch genauer erläutert.

Erstmal reicht es zu wissen, dass man Logik in Java immer in Funktionen (siehe Erklärung der nächsten Codezeile) implementiert, die wiederum in Klassen eingebettet werden. Man kann sich Klasse also als Rahmen oder Behälter vorstellen, in dem Funktionen geschrieben werden können.

public static void main(String[] args) {

Mit dieser Zeile wird eine Funktion mit dem Namen main definiert. Dabei handelt es sich um eine spezielle Funktion, die in jedem lauffähigen Java-Programm enthalten sein muss. Genau diese Funktion wie sie hier definiert ist wird immer als erstes aufgerufen, wenn ein Java-Programm gestartet wird. Von hier aus erfolgt die restliche Abarbeitung des Programmcodes.

System.out.println("Hello World!");

Das ist die eigentliche Logik in unserem kleinen Programm. Mit der Funktion System.out.println() teilt man in der Sprache Java dem Computer mit, dass er die übergebene Zeichenfolge (in unserem Fall Hello World!) sowie einen nachfolgenden Zeilenumbruch auf der Konsole ausgeben soll („print line“). Außerdem muss in Java jede einzelne Anweisung mit einem Semikolon (';') abgeschlossen werden.

Aufgabe

Wenn das Programm geschrieben und erfolgreich ausgeführt wurde, kann man versuchen einen anderen Text auszugeben oder auch mehrere Textzeilen hintereinander. Es schadet auch nicht, wenn man einfach den Quellcode ein wenig modifiziert und mal schaut, was dabei rauskommt.

Sollte es an dieser Stelle Probleme oder Fragen geben, wird im Forum gerne geholfen.

Ziel dieser Lektion

Was du nun wissen solltest:

  • Wie man ein Java-Programm schreibt, kompiliert und ausführt.
  • Wie man eine Zeichenkette auf der Konsole ausgibt.
  • Wie das Grundgerüst eines Programms in Java aussieht.

Das waren jetzt recht viele Informationen auf ein mal. Es ist nicht schlimm wenn man sich diese Dinge nicht sofort auswendig merkt, mit der Zeit werden sie aber zur Gewohnheit werden. Übung ist hier der Schlüssel zum Erfolg.