Vorläufige Erklärung des Beispielprogramms in Java
Klassenfestlegung
Die Quelldatei »Main.java« enthält die Festlegung einer Klasse »Main«, die mit dem Quelltext »public final class Main« beginnt und mit des Quelltextes letzter geschweiften Klammer zu »}« endet.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo Welt!" ); }}
Vorläufig kann man sagen, daß eine Klasse soviel wie ein Programm ist. Daher kann man auch sagen, daß unser Programm »Main« heißt.
In dem obigen Programm beginnt die Festlegung einer Klasse in einer Art von Titel, mit »public final class«. Der Klassenname ist der Name dieses Klasse und wird durch das Wort festgelegt, welches direkt hinter »class« steht. Der Name »Main« am Ende der ersten Zeile legt also Namen der Klasse fest.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo Welt!" ); }}
»public« bedeutet, daß die Klasse »Main« nicht versteckt werden soll, bei Verwendung der Standardentwicklungsumgebung ist es aber entbehrlich und findet sich in unserem Programm eher der Konvention halber.
»final« bedeutet, daß die Klasse »Main« nicht für Erweiterungen (Unterklassen) gedacht ist. Wir werden erst viel später lernen, wie eine Klasse für Erweiterungen geschrieben wird.
Man beachte die Zerlegung der Klassenfestlegung in einen Kopf (Titel) und einen Rumpf (Inhalt).
- Kopf (Titel) der Klassenfestlegung
public final class Main
- Rumpf (Inhalt) der Klassenfestlegung
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo Welt!" ); }}
Der Rumpf ist daran erkennbar, daß er mit einer geschweiften Klammer beginnt und mit der zugehörigen geschweiften Klammern endet. Der Kopf ist der Teil der Klassenfestlegung, der vor dem Rumpf steht.
Methodenfestlegungen
Außerdem enthält das Programm die Festlegung einer Methode »main«, welche mit »public static void main( final java.lang.String[] args )« beginnt und mit des Quelltextes vorletzter geschweifter Klammer zu »}« endet. Vereinfacht gesagt ist eine Methode einer Klasse der Teil der Klasse, der bestimmt, was diese Klasse tut. Diese Methode legt demgemäß fest, was unser Programm tut. »public static void main( final java.lang.String[] args )« bedeutet also soviel wie: „Hier beginnt unser Programm!“.
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo Welt!" ); }}
Große Programme enthalten oft mehrere Klassen, die ihrerseits wiederum mehrere Methoden enthalten. Klassenfestlegungen und Methodenfestlegungen erlauben es, große Programme übersichtlich zu gliedern – so wie Kapitel und Abschnitte ein Buch untergliedern können. Auch wenn ein Programm so klein ist, daß solch eine Untergliederung nicht nötig ist, verlangt Java sie doch in jedem Fall.
»public« bedeutet, daß die Methode »main« nicht versteckt werden soll. Diese Methode darf nicht versteckt werden, wenn das Programm laufen können soll.
»static« bedeutet, daß die Methode »main« kein Objekt benötigt. Die Programmierung von Methoden für Objekte werden wir erst später behandeln.
»void« bedeutet, daß die Methode »main« keinen Rückgabewert festlegt. Auch das Thema der Rückgabewerte werden wir erst später behandeln.
»main( final java.lang.String[] args )« dient der Kennzeichnung der Methode als „Hauptmethode“ der Klasse. Die Details dieser Kennzeichnung werden später erklärt.
Das folgende Zitat aus dem obigen Programm zeigt die Methodenfestlegung.
- Methodenfestlegung
public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo Welt!" ); }
Man beachte die Zerlegung der Methodenfestlegung in einen Kopf (Titel) und einen Rumpf (Inhalt).
- Kopf (Titel) der Methodenfestlegung
public static void main( final java.lang.String[] args )
- Rumpf (Inhalt) der Methodenfestlegung
{ java.lang.System.out.println
( "Hallo Welt!" ); }
Der Rumpf ist daran erkennbar, daß er mit einer geschweiften Klammer beginnt und mit der zugehörigen geschweiften Klammern endet. Der Kopf ist der Teil der Methodenfestlegung, der vor dem Rumpf steht.
Anweisungen
Die letzten beiden Zeilen des Programms sind noch eine Erklärung wert, denn sie legen fest, was das Programm eigentlich tun soll.
Eine Anweisung ist ein Text, der einer Java -Implementation sagt, was sie tun soll.
Die Methode »main« enthält die Anweisung »java.lang.System.out.println
( "Hallo Welt!" );«, welche die Ausgabe des Texts »Hallo Welt!« auf die Systemausgabe »java.lang.System.out« verlangt. Dies ist es dann, was das Programm tun wird. Das englische Verb “print ” (auf deutsch: „drucke“) steht darin als Synekdoche allgemein für jede Art der Ausgabe.
»java.lang.System.out« bezeichnet das Ziel der Ausgabe, die Ausgabefläche, und das verbartige »println« verlangt die Ausgabe und den anschließenden Abschluß der Ausgabe mit einem Zeilenende (»ln« für “line ”, „Zeile“).
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "Hallo Welt!" ); }}
Das folgende Zitat aus dem obigen Programm zeigt die Anweisung.
- Anweisung
java.lang.System.out.println
( "Hallo Welt!" );
Das folgende Zitat aus dem obigen Programm zeigt den wichtigsten Teil dieser Anweisung und damit des ganzen Programmes. Er verlangt die Ausgabe (»println«) des Textes »Hallo Welt!«.
- Entscheidender Teil
println
( "Hallo Welt!" )
Java
Java erlaubt es, auch große Programme noch übersichtlich zu gestalten. Es ist nicht Ziel bei der Gestaltung von Java gewesen, daß kleine Programme möglichst kurz sind.