[Hilfe] Verstehe den Unterschied zwischen 2mal if und else if nicht^^

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi!
    Der Titel sagt glaub mal schon aus was ich nicht versteh...^^
    Habs i-wie noch nie begriffen...


    anstatt das ich zwei if abfragen mach das zuerst eine if und dann else if abfrage kommt - wo ist da der unterschied? ?(:D

  • else if ist eigentlich nur eine Kurzschreibweise. Du kannst eine Abfrage auf zwei Weisen schreiben:
    if(a == 1) // Ist a = 1
    {
    //...
    }
    else // Wenn a != 1 ist
    {
    if(a == 2) // Ist a = 2
    {
    //...
    }
    }



    Oder:
    if(a == 1) // Ist a = 1
    {
    //...
    }
    else if(a == 2) // Wenn a != 1 ist, aber a = 2 ist
    {
    //...
    }


    Das else if (Zeile 5) wird nur aufgerufen, wenn die Abfrage (Zeile 1) falsch ist.


    Das ist etwas doof mit Worten zu erklären, hoffentlich hast du es so verstanden... :)


    Ich scripte NICHT mehr, ich möchte mit NIEMANDEM einen Server aufmachen habe auch NICHTS mehr mit LoH zu tun, also lasst es mit den PNs!

  • Wenn du if und dann else if machst, wird das else if nur abgefragt, wenn das if nicht zutrifft


    Wenn du zwei if machst, werden beide abgefragt


    Außerdem, wenn du im ersten if eine Variable veränderst:


    new variable = blabla;
    if(variable == 5)
    {
    variable = 7;
    }
    else if(variable == 7)
    {
    more code;
    }


    In diesem Fall würde das zweite if nicht abgefragt werden, weil das erste bereits zutrifft, wenn variable 5 ist. Also "more code" würde nicht ausgeführt werden.


    Wenn du es aber so machst:


    new variable = blabla;
    if(variable == 5)
    {
    variable = 7;
    }
    if(variable == 7)
    {
    more code;
    }


    Dann trifft das zweite if auch zu, "more code" wird also ausgeführt


    //M4rciii war schneller

  • zB a=1, b=2


    if(a==1){print("A ist 1 ");}else if(b==2){print("B ist 2");}


    Ausgabe:

    Code
    A ist 1


    if(a==1){print("A ist 1 ");}if(b==2){print("B ist 2");}



    Ausgabe:

    Code
    A ist 1 B ist 2


    okay? ;)