Was sind die Unterschiede zwischen if, else und else if? [closed]

Lesezeit: 6 Minuten

Benutzeravatar von Zach Smith
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.

🙂

Benutzeravatar von Malaxeur
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

Benutzeravatar von Jonathan Leffler
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

Benutzeravatar von Alex Baranosky
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 :)
}

1433010cookie-checkWas sind die Unterschiede zwischen if, else und else if? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy