Einführung in die Programmierung. Fragen stehen unten?
Thema ist Methoden und Ausdrücke

1 Antwort
a) if(0<=i) && (i<7)
b) 1. Hier muss man aufpassen, weil Integer und Double vermengt werden.
b) 2. 5 ist größer als drei, was hinten oder ist, wäre eigentlich egal. Aber Vorsicht! Es ist eine Zuweisung! Den es steht = und nicht == (geht das überhaupt in Java? Ist doch eher C-Style). Hier geht es um die Bearbeitungsreihenfolge: Zuerst wird der rechte Ausdruck abgearbeitet, dann der linke. Wenn zuerst 5 > 3 --> wahr, der hintere Teil wird übersprungen. Also erg2 = true. Würde Java hinten anfangen, wäre erg2 zwar zuerst falsch, aber dann per Zuweisung true.
erg2 wird hier gleichzeitig deklariert und mit einem Wert versehen. Man muss wissen, dass Java seine Variablen mit dem Standardwert für den jeweiligen Typ belegt und dieser Standardwert für boolean false ist.
OK, jetzt verstehe ich es, was ausgedrückt werden sollte.
Hinweis an den Fragesteller: laut Operator Precedence ist == stärker als =
Ginge. Dann stünde da: Bool'scher Wert = Bool'scher Wert als Zuweisung.
Einem True und False als Ergebnis kann man nichts zuweisen.
Aber sonst hast du Recht.
"if(0<=i) && (i<7)"
Hier sind die Klammern falsch. Es fehlen welche.
if (condition) statement;
Die Bedingung wäre vor dem && zu Ende.
if ( (0 <= i) && (i < 7) )
Ich kann dafür quasi kein Pascal mehr. Zuweisung per := und die Unterscheidung zwischen procedure und function sind gerade noch geblieben.
Nehme Java als Vorbild und C++ zum Arbeiten.
"Zuerst wird der rechte Ausdruck abgearbeitet, dann der linke"
Erst links, dann rechts. Wohl ein Schreibfehler. Richtig weiter geschrieben.