If(... & else If(...

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 eig ne leichte frage nur ich bin zu blöd und weis es grad nicht..was der unterschied zwischen If(... und else if(... heist das wenn da was augeslöst werden soll und in der public steht nur als if(... danach nochmal if(... das wenn das 1 If(.. nicht den entspricht er das kommplette public nicht weiter list ? und bei else if wenn das normale if nicht stimmt ?

    „Auge um Auge - und die ganze Welt wird blind sein.“
    - Mahatma Gandhi

  • Also.. "if" hießt: wenn...
    Du kannst z.B. machen:
    new hi=0;
    if(hi==0) { hi=1; }
    if(hi==1) { hi=2; }
    if(hi==3 { SendClientMessageToAll(farbe,"Hi"); }
    So, dies würde nun alles zutreffen, weil die bedingung ja erfüllt ist, bei "else if" wird es anders geregelt:
    new hi=0;
    if(hi==0) { hi=1; }//sollte dieses nicht zutreffen, dann passiert
    else if(hi==1) { hi=2; }//dies - und sollte dieses und das obere nicht zutreffen, dann passiert
    else if(hi==3 { SendClientMessageToAll(farbe,"Hi"); }//das
    verstanden?^^

  • Ein if-Abfrage beginnt immer mit einem if:


    if (bedingung) {
    code;
    ...
    }


    Wenn man einbauen möchte dass noch eine andere Bedingung eintraten darf, dann baut man einelse if ein:


    if (bedingung1) {
    code;
    ...
    } else if (bedingung2) {
    code;
    ...
    }


    Dann gibts noch die Möglichkeit falls weder bedingung1 noch bedingung2 zuetreffen: else


    if (bedingung1) {
    code1;
    ...
    } else if (bedingung2) {
    code2;
    ...
    } else {
    code3;
    ...
    }


    Hier schreibt man keine Bedingung hin, da es sämtliche Fälle bei denen keine Bedingung vorhersehbar ist abfangen soll.


    else if kann man beliebig oft anhängen:

    if (bedingung1) {
    code1;
    ...
    } else if (bedingung2) {
    code2;
    ...
    } else if (bedingung3) {
    code3;
    ...
    } else if ...............
    }


    Statt einer mehrfachen nutzung vonelse if ist es allerdings kofortabler eine switch-Anweisung zu verwenden:


    switch (zahl) {
    case 1:
    {
    //code1;
    //...
    break;
    }
    case 2:
    {
    //code2;
    //...
    break;
    }
    case 3:
    {
    //code3;
    //...
    break;
    }
    default:{
    //code3;
    //...
    }
    }



    default: entspricht hierbei in der Logik else.

    Intel Xeon W3690 Hexacore @ 4.5 GHz - 48GB Triple Channel DDR3 - GeForce RTX 2070 Super - Asus P6T Deluxe V1 @ P6T WS Pro BIOS

    Mainboard 12 Jahre, CPU 10 Jahre alt - old but gold!