Aus dem Kurs: Java Grundkurs 1: Sprachkonzepte und Programmiergrundlagen

Ausdrücke und Anweisungen

In der Grammatik vieler etablierter Programmiersprachen gibt es zwei grundsätzliche Konzepte, die bestimmen, wie die Sprache aufgebaut ist. Expressions, auf Deutsch Ausdrücke, und Statements, auf Deutsch Anweisungen. Wir haben bereits beide Sprachelemente in vorherigen Videos kennengelernt und ganz intuitiv benutzt. Eine Expression ist ein Sprachkonstrukt, das aus Variablen, Operatoren und anderen Funktionen der Programmiersprache besteht und einen Wert zurückgibt. Beispiel für eine Expression: 1 + 2. Ein Statement hingegen entspricht einer Ausführungsanweisung und kann als eigenständige Zeile im Programmcode stehen. Sie bestehen in der Regel aus einer oder mehreren Expressions. Und so, wie wir einen Satz mit einem Punkt beenden, so beenden wir in Java ein Statement mit einem Semikolon. Ein Statement ist z.B., wenn wir eine Variable definieren, x, und dieser einen Wert zuweisen. In diesem Fall ist die gesamte Zeile das Statement, die rechte Seite allerdings die Expression, denn diese gibt den Wert 1 zurück. Und die Expression kann hier auch beliebig komplex sein, ich kann natürlich sagen 1 + 2, das ist ebenfalls eine Expression. Und diese Expression wird hier der Variable zugewiesen, die ganze Zeile, abgeschlossen mit dem Semikolon, bildet das Statement. Wenn wir hier noch mal die Expression nehmen, 1 + 2, und die so stehen lassen, das geht offensichtlich nicht, hier kriegen wir eine Fehlermeldung, hm, "Not a statement". Ich habe ja zuvor gesagt, Statements werden immer mit einem Semikolon abgeschlossen. Was passiert jetzt? Nein, das funktioniert auch nicht. Man kann nicht einfach jede Expression nehmen, mit einem Semikolon beenden und daraus automatisch ein Statement machen. Das funktioniert so nicht. Gut, kommentieren wir diese Zeile einfach aus, können wir sie hier als Referenz lassen. Ein weiteres Beispiel für ein Statement, was wir in vorherigen Videos sehr oft benutzt haben, ist unser System.out.print-Statement. So, dies ist ebenfalls ein Statement, gibt keinen Wert zurück, sondern führt einen Seiteneffekt aus, führt nämlich zu einer Konsolenausgabe. "I am a statement as well!". Und was ist nun die Expression, die Bestandteil dieses Statements ist? Der String hier ist selber eine Expression. Und das Statement besteht aus dieser Expression und einem sogenannten Funktionsaufruf und hier wieder beendet mit einem Semikolon. Und natürlich kann ich in so einem Statement auch ganz beliebig komplexe Expressions verwenden. 1 + 2 ist jetzt nicht besonders komplex, aber wir sehen hier schon, das Wichtige an der Stelle ist, dass hier zwischen diesen Klammern eine Expression stehen muss, also ein Ausdruck, der sich zu einem Wert auflösen kann. Es gibt noch eine weitere besondere Form von Statements: Control-Flow-Statements. Und was man damit machen kann, werden wir im nächsten Video lernen.

Inhalt