Die Java Language Specification (deutsch Spezifikation der Sprache Java) ist die Spezifikation der Semantik und Grammatik der Programmiersprache Java. Aktuell ist sie in der zweiten Version verfügbar.
Syntax
Die dabei verwendete Syntax ist relativ einfach und übersichtlich:
Kommentare: // Ab den Beiden Slash bis zum Ende der Zeile
/* Ab dem Slash, Stern bis zu dem Stern, Slash */
Anweisungen:
Jede Anweisung endet mit einem Semikolon, Zeilenumbrüche und Leerzeichen werden nicht berücksichtigt. In einer Zeile können beliebig viele Anweisungen stehen.
Zuweisung: a = 2 + 3 ;
Funktionsaufruf: Klasse.Funktionsname(Parameter1, ParameterN);
Beispiel: System.out.println("Hallo Welt");
Verzweigung:
Statement steht für eine Anweisung oder einen Anweisungsblock: ein Anweisungsblock beginnt mit { und endet mit } und kann beliebig viele Anweisungen enthalten.
IfThenStatement: if ( Expression ) Statement
IfThenElseStatement: if ( Expression ) Statement else Statement
Für den Ausdruck IfThenStatement kann die darunter stehende Zeile verwendet werden. Sollen Alternativen angeboten werden, werden die Zeilen einfach untereinander aufgelistet:
ArgumentList:
Argument
ArgumentList, Argument
Optionale Angaben werden mit einem tiefergestellten opt gekennzeichnet:
Einfache Schleife: while ( Expression ) Statement Beispiel: while ( zaehler <= 36 ) { System.out.print(" " + zaehler); }
For Schleife: for ( ForInitopt ; Expressionopt ; ForUpdateopt ) Statement
welches in allen möglichen Variationen ausgeschrieben so aussieht:
ForStatement:
for ( ; ; ) ; for ( ; ; ) Statement for ( ; ; ForUpdate ) Statement for ( ; Expression ; ) Statement for ( ; Expression ; ForUpdate ) Statement for ( ForInit ; ; ) Statement for ( ForInit ; ; ForUpdate ) Statement for ( ForInit ; Expression ; ) Statement for ( ForInit ; Expression ; ForUpdate ) Statement
Beispiele
Der typische, vereinfachte Aufbau mit kleinen Beispielen:
ImportDeclaration:
import Identifier { . Identifier } [ . * ] ;
bedeutet nichts anderes als:
import java.util.*;
Ein weiteres Beispiel:
ClassDeclaration:
ClassModifiersopt class Identifier Superopt Interfacesopt ClassBody
steht für
public class Empty{ }
Weblinks
- Online Manual (englisch)