Was genau ist ein Statement (Programmierung)?

4 Antworten

Ein Statement kenne ich eigentlich nur in Verbindung mit SQL. Bei Java kann man z.B. ein Prepared Statement erstellen, was im Prinzip ein SQL-Befehl mit Platzhaltern ist, wo man dann Variablen einsetzen kann.

Das, was nach dem If in den Klammern steht, nennt man "conditional" (oder deutsch: Bedingung) und das in den geschweiften Klammern ist halt der Code, der ausgeführt werden soll, wenn die Bedingung zutrifft.


oxbox  12.12.2018, 13:29

das statement ist hier IF oder ELSE

0

Das sind mehrere Statements. Eigentlich sind das alles Statements, aber unterschiedlicher Natur :-)

x = y (oder in C-ähnlichen Sprachen x == y) ist beispielsweise ein Vergleichsstatement. if ist ein Conditional Statement, "anweisung" wäre ein Ausführungsstatement, {..} ein Block-Statement.

Im Wesentlichen ist alles irgendwie ein Statement. Üblicherweise spricht man aber von Statements, wenn diese etwas tun - eine Zuweisung, eine Abfrage, eine Ausführung von irgendwas. x == y kann beispielsweise nicht alleine stehen und gilt daher normalerweise nicht "Anweisung".

Man muss unterscheiden zwischen Anweisung und Ausdruck. Beides sind zwar Statements, aber ein Ausdruck kann nicht alleine stehen (x == y beispielsweise ist ein Statement, aber keine Anweisung, sondern ein Ausdruck).


oxbox  12.12.2018, 13:31

Das erklär mal .... bin ich echt gespannt :)

0
x = y

ist eine zuerst einmal eine Zuweisung (assignment expression) und wird als eine Art der Anweisung (statement) betrachtet (einige Anweisungen können auch Ausdrücke sein).

Das, was letzten Endes zwischen den Klammern passiert (bei if oft nur als condition bezeichnet):

true == x = y

ist ein Ausdruck (expression).

Lies dazu bspw. hier: Expressions, Statements, and Blocks.

Ein Unterschied zwischen Ausdruck (expression) und Anweisung (statement) ist, dass nicht jede Anweisung einen Wert zurückgeben muss.

Mehr oder weniger ist das was am ende rauskommt das Statement...

Also wenn x=y ist ist das statement die IF.. ist es nicht wahr, wäre das statement die ELSE


ohwehohach  12.12.2018, 13:35

Auch wenn der ELSE Zweig ausgeführt wird, bleibt IF ein Statement.

0
oxbox  12.12.2018, 13:49
@ohwehohach

Klar, nur nicht das Executive... und dadrum geht es hier... alles sind statements ...

bei uns steht es so:

if condition then
   --statements
else
    -- other statements;

0
ohwehohach  12.12.2018, 14:40
@oxbox

Ja, das ist schon klar. Trotzdem sind if und else auch statements. Was du da schreibst sagt ja nur, dass der Block dann wieder aus Statements besteht.

0
oxbox  12.12.2018, 14:48
@ohwehohach

wir können jetzt einen auf klugscheisser machen... alles sind Statements!

Das hilft ihm aber null weiter... hab auch kein bock mit dir zu diskutieren ...

0
ohwehohach  12.12.2018, 14:56
@oxbox

Du hast doch angefangen - was bist Du eigentlich so aggressiv? Vorhin noch kommentieren mit "Das erklär mal, bin echt gespannt" und was lese ich dann?

alles sind Statements!

Ich versuche lediglich darzulegen, dass nicht nur der ausgeführte Anweisungsblock ein Statement ist, sondern auch die if-Anweisung selbst. Und dass Du eben aus einer Syntaxdefinition zitierst.

0
ohwehohach  12.12.2018, 15:04
@oxbox

Ich bin nicht sensibel heute. "hab auch keinen bock mit dir zu diskutieren" ist nun mal eine aggressive Aussage - vor allem in Verbindung mit "wir können jetzt einen auf klugscheisser machen".

0
oxbox  12.12.2018, 15:06
@ohwehohach

nee das nicht aggro... sorry ich komme vom Niederrhein (Köln) hier spricht man so...

0
oxbox  12.12.2018, 15:11
@ohwehohach

das war mehr so gemeint, das wir auf keinen Nenner kommen. Und das ich nicht wirklich Lust und Zeit habe jetzt zu diskutieren wieso und warum . zumal es den Fragesteller wohl gar nicht interessiert. Ihm war nur wichtig was was ist..

Also wirklich nichts gegen deine person! Wir Formulieren wirklich lappisch, deswegen mag uns der rest von Deutschland bestimmt auch nicht wirklich ^^

0