Jämförelsediagram
Grunder för jämförelse | om annat | växla |
---|---|---|
Grundläggande | Vilket uttalande kommer att utföras beror på utsignalen från uttrycket inuti om uttalandet. | Vilket uttalande som ska utföras bestäms av användaren. |
Uttryck | if-else-uttalandet använder flera uttalanden för flera val. | switch statement använder ett uttryck för flera val. |
Testning | if-else uttalande test för jämlikhet såväl som för logiskt uttryck. | byt utlämningstest endast för jämlikhet. |
Utvärdering | om uttalandet utvärderar heltal, tecken, pekare eller flytande punkt eller booleskt typ. | Omkopplingsuppsättning utvärderar endast tecken eller heltal. |
Sequence of Execution | Antingen om uttalandet kommer att utföras eller annat uttalande utförs. | Växlingsdeklaration utför ett fall efter det andra tills ett pausutdrag visas eller slutet på omkopplingsdeklarationen uppnåtts. |
Standard utförande | Om villkoret inuti om påståenden är falska, utförs standardversionen annars om den skapas. | Om tillståndet inom växlaruttag inte stämmer överens med något av fallen, för det fallet utförs standarduppsättningarna om de skapas. |
Redigerar | Det är svårt att redigera if-else-satsen, om det nestade if-else-satsen används. | Det är lätt att redigera växelväskor som de är lätt igenkända. |
Definition av if-else
If-else-utlåtandena hör till urvalsutlåtanden i OOP. Den allmänna formen av if-else-förklaringarna är som följer
om (uttryck) {uttalande} annat {uttalande}
där "om" och "annat" är sökorden, och uttalandena kan vara ett enda uttalande eller ett block av uttalanden. Uttrycket utvärderar att vara "sant" för valfritt icke-nollvärde och för noll utvärderas det för att vara "false".
Uttrycket i if-satsen kan innehålla ett heltal, tecken, pekare, flytpunkt eller det kan vara en booleskt typ. Det andra uttalandet är valfritt i ett if-else-uttalande. Om uttrycket returnerar sant utförs deklarationerna inuti om deklarationen exekveras och om det returneras falskt utförs uttalandena i annat uttalande och, om ett annat uttalande är en inte skapad, utförs ingen åtgärd och styrningen av programmet hoppar ut av ett if-else uttalande.
Låt oss förstå med ett exempel.
inti = 45, j = 34; om (i == 45 & j == 34) {cout << "jag du väljer mörk choklad"; ha sönder; fall 2: cout << "du väljer godis"; ha sönder; fall 3: cout << "du väljer lollypop"; ha sönder; . . standard cout << "du väljer inget"; }
Här bestämmer värdet av "jag" vilket fall som ska utföras, om en användare ger värdet av "i" annat än 1, 2 eller 3, görs standardfallet.
Viktiga skillnader mellan if-else och switch
- Uttryck inuti om deklarationen bestämmer om man ska utföra deklarationerna om block eller under annat blockerar. Å andra sidan bestämmer uttrycket inuti omkopplingsdeklaration vilket fall som ska utföras.
- Du kan ha flera if-förklaring för flera val av uttalanden. I omkopplaren har du bara ett uttryck för de flera valen.
- If-esle-uttalandet kontrollerar jämlikhet och för logiskt uttryck. Å andra sidan byter endast kontroller för jämlikhet.
- Om-satsen utvärderar heltal, tecken, pekare eller flytande punkt eller boolesktyp. Å andra sidan utvärderar omkopplingsuppsättning endast tecken eller en heltaldatatyp.
- Sequence of execution är som antingen ett uttalande under om block kommer att utföras eller uttalanden under annat block uttalande kommer att utföras. Å andra sidan bestämmer uttrycket i omkopplingsdeklaration vilket fall som ska utföras och om du inte tillämpar ett raderingsdeklaration efter varje fall kommer det att utföras till slutet av omkopplingsdeklarationen.
- Om uttrycket inuti om slår ut för att vara felaktigt, kommer uttalandet i annat block att utföras. Om uttrycket inuti växlaruttag visar sig vara felaktigt utförs standardinställningar.
- Det är svårt att redigera om-annat uttalanden eftersom det är tråkigt att spåra var korrigeringen krävs. Å andra sidan är det enkelt att redigera omkopplingsdeklarationer eftersom de är lätta att spåra.
Slutsats:
Omkopplingsdeklarationen är lätt att redigera, eftersom den har skapat separata fall för olika uttalanden medan det i nestade om-andra uttalanden blir svårt att identifiera de uttalanden som ska redigeras.