Was sind die Unterschiede zwischen if, else und else if? [closed]
Lesezeit: 6 Minuten
Zach Smith
Ich versuche, den Unterschied zwischen zu erkennen
if
else
else if
Wann benutzt du sie und wann nicht?
Ich habe eine Hausaufgabe mit einer Menge Instanzen und ich stoße auf Codefehler, weil ich die Unterschiede zwischen den einzelnen nicht kenne.
Kann jemand bitte definieren, wie man diese verwendet?
Vielleicht möchten Sie auch nachschlagen, wie man eine “case”-Anweisung verwendet, da dies die andere Hauptbedingungskomponente in C ist und einen Kontrast zur if/else if/else-Struktur darstellt.
– JB König
17. September 2009 um 16:35 Uhr
Verwenden Sie sie (sie beeinträchtigen die grundlegende Zweigstruktur in den meisten Programmiersprachen) – dann werden Sie sehen, was sie tun, wie sie funktionieren und wofür sie nützlich sind.
– Benutzer166390
22. Dezember 2010 um 7:45 Uhr
else ist äquivalent zu else if (True)
– Cowlinator
20. Juli 2020 um 1:34 Uhr
Ein if Anweisung folgt dieser Art von Struktur:
if (condition)
{
// executed only if "condition" is true
}
else if (other condition)
{
// executed only if "condition" was false and "other condition" is true
}
else
{
// executed only if both "condition" and "other condition" were false
}
Das if Teil ist der einzige Block, der absolut obligatorisch ist. else if ermöglicht es Ihnen zu sagen “ok, wenn die vorherige Bedingung nicht wahr war, dann wenn diese Bedingung wahr ist …”. Das Else sagt “wenn keine der oben genannten Bedingungen wahr wäre …”
Sie können mehrere haben else if Blöcke, aber nur einer if block und nur eins (oder null) else Blöcke.
Nur um für das OP klar zu sein: Einer und nur einer der Anweisungsblöcke wird während eines Durchgangs durch eine Gruppe von if/else-Anweisungen ausgeführt. Also wenn beides condition und other condition wahr sind, wird nur der Bedingungscode ausgeführt.
– fbrereto
17. September 2009 um 16:33 Uhr
ah also, wenn Sie mehrere Auswahlmöglichkeiten innerhalb eines if haben, verwenden Sie dann das else if?
– Zach Smith
17. September 2009 um 16:38 Uhr
@unknown (du solltest dich übrigens registrieren) Das ist richtig. Es gibt andere Flusssteuerungsanweisungen wie „case“, die ebenfalls für solche Szenarien verwendet werden können. Die richtige Auswahl ist etwas, das Sie lernen werden.
– Adam Robinson
17. September 2009 um 16:39 Uhr
FYI: Es gibt wirklich kein “else if”. Es ist nur eine else-Anweisung, die eine if-Anweisung enthält.
– Schote
17. September 2009 um 16:49 Uhr
@pod: Semantisch hast du Recht, aber es ist immer noch eine wichtige Idee, etwas darüber zu lernen.
– Adam Robinson
17. September 2009 um 16:52 Uhr
If-elseif-else kann als verschachteltes if-else geschrieben werden. Diese sind (logisch gesehen) äquivalent:
if (A)
{
doA();
}
else if (B)
{
doB();
}
else if (C)
{
doC();
}
else
{
doX();
}
ist das gleiche wie:
if (A)
{
doA();
}
else
{
if (B)
{
doB();
}
else
{
if (C)
{
doC();
}
else
{
doX();
}
}
}
Das Ergebnis ist das letztlich nur eines von doA, doB, doCoder doX wird ausgewertet.
Ich bin froh, dass jemand darauf hingewiesen hat else if ist kein Schlüsselwort, sondern nur eine formatierte Kombination aus else und if
– GManNickG
17. September 2009 um 16:42 Uhr
Einverstanden GMan, das ist nicht Python, Perl, VB etc. Hier gibt es nur if und else.
– Schote
17. September 2009 um 16:50 Uhr
**IF** you are confused
read the c# spec
**ELSE IF** you are kind of confused
read some books
**ELSE**
everything should be OK.
🙂
Malaxeur
If, else und else if sind alles Konstrukte, die helfen, Code zu verzweigen. Grundsätzlich setzen Sie sie immer dann ein, wenn Sie eine Entscheidung treffen wollen.
Ein Beispiel wäre: „Wenn es sonnig ist, gehe ich nach draußen. sonst bleibe ich drinnen
Im Code (Ignorieren der zusätzlichen Dinge)
if (sunny) {
goOutside();
}
else {
stayInside();
}
Sie KÖNNEN ‘else if’-Anweisungen verwenden, wenn Sie ‘zusätzliche’ Bedingungen hinzufügen möchten. Erweiterung des vorherigen Beispiels: “Wenn es sonnig ist, gehe ich nach draußen. Wenn es stürmt, gehe ich in den Keller, sonst bleibe ich drinnen.”
In Code
if (sunny) {
goOutside();
}
else if (stormy) {
goDownstairs();
}
else {
stayInside();
}
Abschnitt bearbeiten:
So können Sie mehrere ifs als und Bedingungen schreiben. Das folgende Beispiel kann auf mindestens zwei Arten geschrieben werden:
„Wenn es sonnig und warm ist, gehen Sie nach draußen. Wenn es sonnig und kalt ist, tu nichts.
if (sunny) {
if (warm) {
goOutside();
}
else if (cold) {
doNothing();
}
}
ODER
if (sunny && warm) {
goOutside();
}
else if (sunny && cold) {
doNothing();
}
Da ist kein “else if“. Sie haben Folgendes:
if (condition)
statement or block
Oder:
if (condition)
statement or block
else
statement or block
Im ersten Fall wird die Anweisung oder der Block ausgeführt, wenn die Bedingung wahr (ungleich 0) ist. Im zweiten Fall, wenn die Bedingung wahr ist, wird die erste Anweisung oder der erste Block ausgeführt, andernfalls wird die zweite Anweisung oder der zweite Block ausgeführt.
Also, wenn du schreibst “else if“, das ist ein “else statement“, wobei die zweite Anweisung eine ist if Aussage. Sie könnten Probleme haben, wenn Sie dies versuchen:
if (condition)
if (condition)
statement or block
else
statement or block
Das Problem dabei ist, dass Sie das “else“um auf das erste zu verweisen”if“, aber Sie beziehen sich eigentlich auf den zweiten. Sie beheben dies, indem Sie Folgendes tun:
if (condition)
{
if (condition)
statement or block
} else
statement or block
Genau dieses Problem, bekannt als das “dangling ELSE”-Problem und erstmals in PASCAL (oder möglicherweise ALGOL) aufgetreten, lange bevor C entwickelt wurde, veranlasste Jean Ichbiah und sein Team, den vollständig geklammerten Stil für Kontrollstrukturen in Ada zu übernehmen .
– John R. Strohm
17. September 2009 um 17:01 Uhr
+1 Denn es gibt keine “else if” -Anweisung. Dort ist ein if Aussage bestehend aus einer Aussage, wenn wahr und [optionally] eine Aussage, wenn sie falsch ist. Der Entwickler kann die Anweisung if false nutzen, um eine neue Bedingung zu überprüfen, und da dies ein allgegenwärtiger Fall ist, ist es einfach als “else if” bekannt geworden.
– Sam Harwell
17. September 2009 um 17:22 Uhr
Jonathan Leffler
Dead Simple Pseudo-Code-Erklärung:
/* If Example */
if(condition_is_true){
do_this
}
now_do_this_regardless_of_whether_condition_was_true_or_false
/* If-Else Example */
if(condition_is_true){
do_this
}else{
do_this_if_condition_was_false
}
now_do_this_regardless_of_whether_condition_was_true_or_false
/* If-ElseIf-Else Example */
if(condition_is_true){
do_this
}else if(different_condition_is_true){
do_this_only_if_first_condition_was_false_and_different_condition_was_true
}else{
do_this_only_if_neither_condition_was_true
}
now_do_this_regardless_of_whether_condition_was_true_or_false
Genau dieses Problem, bekannt als das “dangling ELSE”-Problem und erstmals in PASCAL (oder möglicherweise ALGOL) aufgetreten, lange bevor C entwickelt wurde, veranlasste Jean Ichbiah und sein Team, den vollständig geklammerten Stil für Kontrollstrukturen in Ada zu übernehmen .
– John R. Strohm
17. September 2009 um 17:01 Uhr
+1 Denn es gibt keine “else if” -Anweisung. Dort ist ein if Aussage bestehend aus einer Aussage, wenn wahr und [optionally] eine Aussage, wenn sie falsch ist. Der Entwickler kann die Anweisung if false nutzen, um eine neue Bedingung zu überprüfen, und da dies ein allgegenwärtiger Fall ist, ist es einfach als “else if” bekannt geworden.
– Sam Harwell
17. September 2009 um 17:22 Uhr
Alex Baranoski
Ich denke, es hilft, sich das „andernfalls“ als das Wort ANDERS vorzustellen.
also würdest du es so lesen:
if (something is true)
{
// do stuff
}
otherwise if (some other thing is true)
{
// do some stuff
}
otherwise
{
// do some other stuff :)
}
14330100cookie-checkWas sind die Unterschiede zwischen if, else und else if? [closed]yes
Vielleicht möchten Sie auch nachschlagen, wie man eine “case”-Anweisung verwendet, da dies die andere Hauptbedingungskomponente in C ist und einen Kontrast zur if/else if/else-Struktur darstellt.
– JB König
17. September 2009 um 16:35 Uhr
Verwenden Sie sie (sie beeinträchtigen die grundlegende Zweigstruktur in den meisten Programmiersprachen) – dann werden Sie sehen, was sie tun, wie sie funktionieren und wofür sie nützlich sind.
– Benutzer166390
22. Dezember 2010 um 7:45 Uhr
else
ist äquivalent zuelse if (True)
– Cowlinator
20. Juli 2020 um 1:34 Uhr