Ist es möglich mehr als zwei If-Bedingungen in eine If-Schleife zu schreiben?

8 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Meinst du die boolschen Werte im Anweisungskopf? Da kannst du mehrere reintun, und diese dann mit logischen Operatoren verknüpfen (hier gibt es zur Auswahl: ! ^ & | && ||). Du kannst auch runde Klammern setzen, tust du das nicht, werden die Bedingungen von links nach rechts durchgegangen. Also

if (a ! b || c)

ist etwas anders als

if (a ! (b || c))

Das obere ist immer dann true, wenn c=true ist, oder wenn a ungleich b ist.
Das untere ist immer dann true, wenn a=true, b=false und c=false ist, oder wenn a=false und b oder c = true ist.

Du siehst die Klammern machen also durchaus einen Unterschied...

Woher ich das weiß:Hobby – Programmiere seit eineinhalb Jahren

Bei der Schleifenbedingungen wird immer berechnet, ob der Ausdruck, der hinter dem if steht wahr oder falsch ist. Wie du den Ausdruck selbst gestaltet ist dir freigestellt, es muss aber eben eindeutig festzustellen sein, ob der Ausdruck wahr oder falsch ist. Innerhalb des Ausdrucks kannst du beliebig viele Junktoren benutzen, möglicher Weise wird das allerdings in der ein oder anderen Sprache etwas eingeschränkt.

Du kannst da auch mehr reinsetzen. Beachte nur was wie abgefragt wird wenn nicht alle Bedingungne ausschließlich und oder ausschließlich oder Verknüpft sind.

Sonst bekommst du bei a und b oder c ggf nicht das Ergebnis was du willst. Beachte auch das das ungemein schnell unübersichtlich werden kann.

Ist es möglich mehr als zwei If-Bedingungen in eine If-Schleife zu schreiben?

Nein, da es keine If-Schleife gibt ...

Der Titel der Frage klingt komplizierter, als es eigentlich ist. Im Grunde möchte ich wissen oben ich das hier machen kann: If(i<6&&i>20&&c==10)

Die Bedingung kann beliebig komplex sein, sofern sie sich am Ende zu Wahr oder Falsch evaluieren lässt

If ist keine Schleife!

Der wohl häufigste Satz meiner Informatik-Lehrerin 😅

Aber ja: Du kannst da beliebig viele, verschachtelte Bedingungen reinschreiben. Irgendwo gibt's da natürlich auch Grenzen aber wenn du die erreichst solltest du deinen Programmierstil überdenken

Woher ich das weiß:Studium / Ausbildung