Einführung in die Programmierung. Fragen stehen unten?

 - (Studium, Programmieren, Informatik)

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Eigene Erfahrung – Hobby und teilweise beruflich

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.

1

"Zuerst wird der rechte Ausdruck abgearbeitet, dann der linke"

Erst links, dann rechts. Wohl ein Schreibfehler. Richtig weiter geschrieben.

0
@gogogo

gemeint war z.B. bool_v = bool_value==false, dann geht es rechts mit bool_value==false los, also rechts vom Gleichheitszeichen wird begonnen.

Bei && und II geht es links los.

War aber schlecht formuliert von mir.

1
@nobytree2

OK, jetzt verstehe ich es, was ausgedrückt werden sollte.

Hinweis an den Fragesteller: laut Operator Precedence ist == stärker als =

0

"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) )

1
@gogogo

Das kommt davon, dass man mich zwingt, mit Pascal für Studienzwecke Programme zu schreiben. Man verlernt es.

1
@nobytree2

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.

1

Dankeschön :D

1

Was möchtest Du wissen?