nyckelskillnad – om annat jämfört med switch
Det finns beslutsfattande strukturer i programmering. If else och switch är två av dem. Ett uttryck består av värden, operatorer, konstanter etc. If else tillåter exekvering av ett block med satser om det givna uttrycket är sant eller att exekvera det valfria blocket om det givna uttrycket är falskt. Omkopplaren används för att tillåta värdet av en variabel eller uttryck att ändra styrflödet för programexekveringen via en flervägsgren. Om programmeraren vill kontrollera värdet på en enskild variabel kan han använda switch-satsen. Den här artikeln diskuterar skillnaden mellan if else och switch. Den viktigaste skillnaden mellan if else och switch är att i if else är exekveringsblocket baserat på utvärderingen av uttrycket i if-satsen, medan i switch, satserna som ska köras beror på den enda variabeln som skickas till den.
Vad är om annat?
If else innehåller två block. De är om och annat. If-blocket innehåller uttrycket som ska utvärderas. Om det är sant kommer satserna i if-blocket att köras. Om villkoret är falskt kommer satserna som tillhör else-blocket att köras. Programmeringsspråk antar alla värden som inte är noll och inte null som sanna. Noll och noll anses vara falska. Om och annat är nyckelord. Därför kan de inte användas som identifierare.
Figur 01: Program med if else Statements
Enligt programmet ovan är talet variabel som kan lagra heltal. Den innehåller värde 5. I if-blocket kontrolleras uttrycket. Om resten är 0 efter att ha dividerat talet med noll, betyder det att talet är jämnt. Om resten är 1 är siffran udda. Nummer 5 är udda. Därför kommer det andra blocket att köras.
Vad är switch?
Om programmeraren vill kontrollera värdet på en enskild variabel kan han använda omkopplaren. Det är ett flervalsutlåtande. Växeln kan ha många fallbeskrivningar. När variabeln skickas till växeln jämförs den med varje fallsats värde. Om motsvarande värde hittas, exekveras uttalandena i det specifika fallet. Dessa uttalanden körs tills ett avbrott inträffar. Om fallsatser inte har break-satser, så sker exekveringen till slutet av switch-satsen. Standardfallet körs om inget av fallen är sant. Standardinställningen kräver ingen break-sats.
Figur 02: Program med omkopplare
Enligt programmet ovan innehåller num1 och num2 två heltalsvärden. Operatören är en karaktär. Den skickas till strömbrytaren. Det kontrolleras med alla fallutlåtanden. Den godkända operatören är division. Därför beräknas och skrivs divisionen ut. Sedan går exekveringen ut ur switchen på grund av break-satsen. När pausen uppnås förs kontrollen över till nästa rad efter växlingen. Vanligtvis använder switch-satsen ofta ett tangentbordskommando för att välja ett bland flera fallsatser.
Vad är likheten mellan om annat och byta?
Både if else och switch är beslutsfattande strukturer i programmering
Vad är skillnaden mellan om annat och byte?
if else vs switch |
|
If else är en kontrollstruktur som exekverar ett block med satser om villkoret är sant och exekverar det valfria blocket om villkoret är falskt. | Switch-satsen är en typ av urvalskontrollmekanism som används för att tillåta värdet på en variabel eller ett uttryck att ändra kontrollflödet för programexekveringen via en flervägsgren. |
Utförande | |
In if else, antingen if-blocket eller else-blocket körs beroende på det utvärderade uttrycket. | Omkopplaren utför det ena fallet efter det andra tills paus nås eller till slutet av switchen. |
Utvärdering | |
If-satsen utvärderar heltal, tecken, flyttal eller booleska typer. | Switch-satsen utvärderar tecken och heltal. |
Standardutförande | |
Om villkoret för if-block är falskt, kommer satserna i else-blocket att köras. | I switch, om ingen av fallsatserna matchar, kommer standardsatserna att köras. |
Testning | |
Om annat kontrollerar likheten och logiska uttryck. | Omkopplaren kontrollerar likheten. |
Sammanfattning – om annat kontra byte
Två beslutsfattande strukturer i programmering är om annat och byta. If else-satsen är en villkorlig sats kommer att köra en uppsättning satser beroende på om villkoret är sant eller falskt. Omkopplaren kan användas för att kontrollera en enda variabel. Skillnaden mellan if else och switch är att if else exekveringsblocket baserat på utvärderingen av uttrycket i if-satsen, medan switch-satsen väljer de satser som ska köras beroende på den enskilda variabeln, skickas till den.