Könntet Ihr mir sagen was genau dieser Befehl in Java befiehlt?

... komplette Frage anzeigen

6 Antworten

Wenn der Wert über dem Grenzwert liegt, wird zum Wert 50 hinzu addiert und Ein Text mit einer Warnung wird ausgegeben.

Zuletzt wird der Text "Programmende Warnung" ausgegeben.

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo,

Zuerst werden den Variablen grenzwert und wert die Werte 320 und 50 zugewiesen.
Mit der if-Abfrage fragst du nun, ob der Wert 50 größer ist als 320. Wenn dies der Fall ist (was so ist), addierst du zu wert 50 hinzu, das dann 100 ergibt. Anschließend gibt es die Textzeile: "Warnung100" und "Programmende Warnung1" aus.

Grüße,
Unbek4nt

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von ChristianPl
19.05.2016, 20:28

50 ist nicht größer als 320

0

Dein Programm besteht aus (je nach Zählung) sieben Befehlen.

Der "Befehl" «public ... void main(...)» deklariert eine Subroutine.

Der Befehl «int grenzwert = 320» sind genau genommen zwei Befehle. Zunächst wird "grenzwert" als Variable mit Datentyp int (also Ganzzahl) deklariert und im zweiten Befehl wird der Wert 320 ebendieser Variable zugewiesen. Anstelle von «int grenzwert = 320;» könnten die beiden Befehle «int grenzwert;» und «grenzwert = 320;» stehen.

Der Befehl «int wert = 50» ist analog zu «int grenzwert = 320».

Der if-Block kann als Befehl angesehen werden und wird auch oft als einzelne Anweisung gezählt. ein if-Block besteht aus einer Bedingung und einer beliebig langen Sequenz von Befehlen. Diese Sequenz wird nur ausgeführt, wenn der Ausdruck der Bedingung wahr (in java also "true") ist.

Beim Befehl «wert = wert + 50;» handelt es sich um eine typische Zuweisung. Links des Gleichheitszeichens steht eine Variable (also eine Speicherstelle) wohin ein Wert geschrieben werden soll. Rechts des Gleichheitszeichens steht ein Ausdruck (hier «wert + 50»). Diese Ausdruck wird ausgewertet und der errechnete Wert wird danach in die Speicherstelle links des Gleichheitszeichens geschrieben.

Der Befehl «System.out.println()» ist ein Subroutineneaufruf. Von diesen kommen in Deinem Programm zwei vor.

Genau genommen steht vor der zweitletzten Klammer noch ein impliziter Befehl, der in den meisten Sprachen aber nicht explizit geschrieben werden muss. Es ist das «return;». Ein Return gibt an, dass die Subroutine nun fertig ist und die Kontrolle wird an das aufrufende Programm zurückgegeben. Da jede Subroutine mit einem «return» enden muss, muss diese Anweisung nicht explizit hingeschrieben werden.

Zusammenfassend also die vier grundlegenden Befehle (auch Anweisungen oder Statements genannt), die in Programmen auftauchen:

  • Deklaration (z. B. int x;)
  • Wertzuweisung (z. B. x = 5;)
  • Subroutinenaufruf (z. B. println();)
  • return-Anweisung

Antwort bewerten Vielen Dank für Deine Bewertung

Nichts wirklich, weil die "if" - Abfrage immer false ergibt, und das Programm demnach auch keine Ausgabe macht.

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo!

Eigentlich nichts, da "wert" immer kleiner als "grenzwert" ist, deshalb das "if" immer false ergibt und eine "else" nicht vorhanden ist.

Gruß

Antwort bewerten Vielen Dank für Deine Bewertung

ach ja, noch was:

Schreibe mal statt "if" ein "while", das macht das Programm schon spannender. Lass es dann laufen und begründe die Ausgabe.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?