Villkorssatser: Skillnad mellan sidversioner
PGJ (diskussion | bidrag) |
PGJ (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 2: | Rad 2: | ||
Med hjälp av en villkorssats kan man styra hur programflödet ska uppföra sig då ett visst villkor är uppfyllt. | Med hjälp av en villkorssats kan man styra hur programflödet ska uppföra sig då ett visst villkor är uppfyllt. | ||
== <code>if</code>-satser == | == <code>if</code>-satser == | ||
Den vanligaste villkorssatsen är <code>if</code>-satsen. Man har då en sektion med kod som enbart utförs då villkoret är sant, till exempel; | Den vanligaste villkorssatsen är <code>if</code>-satsen. Man har då en sektion med kod som enbart utförs då villkoret är sant, till exempel; | ||
Rad 43: | Rad 43: | ||
Som sagt, man kan lösa detta på ett effektivare sätt, men för att kunna det behöver vi kunna jobba med sanningsvärden. Vilket vi återkommer till nästa aktivitet. | Som sagt, man kan lösa detta på ett effektivare sätt, men för att kunna det behöver vi kunna jobba med sanningsvärden. Vilket vi återkommer till nästa aktivitet. | ||
<div class="well well-meadow"> | <div class="well well-meadow"> | ||
Följande är lite överkurs, men det kan vara bra att känna till. | Följande är lite överkurs, men det kan vara bra att känna till. | ||
</div> | </div><!-- end well --> | ||
== <code>switch</code> == | == <code>switch</code> == | ||
När man vill testa något som kan ha många olika värden kan det lätt bli många <code>if</code>:ar. För att lösa såna situation på ett snyggare sätt så kan man använda sig av <code>switch</code>. | När man vill testa något som kan ha många olika värden kan det lätt bli många <code>if</code>:ar. För att lösa såna situation på ett snyggare sätt så kan man använda sig av <code>switch</code>. | ||
Rad 67: | Rad 65: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== <code>Trinary-operatorn</code> == | == <code>Trinary-operatorn</code> == | ||
Ett kompakt sätt att göra en villkorlig tilldelning är att använda sig av trinary-operatorn. Den heter så på grund av att den består av tre delar. | Ett kompakt sätt att göra en villkorlig tilldelning är att använda sig av trinary-operatorn. Den heter så på grund av att den består av tre delar. | ||
Rad 76: | Rad 72: | ||
a = testvillkor ? sant : falskt; | a = testvillkor ? sant : falskt; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Nästa aktivtet == | == Nästa aktivtet == | ||
[[Att jobba med sanningsvärden]] | [[Att jobba med sanningsvärden]] | ||
Versionen från 18 januari 2016 kl. 21.54
När man programmerar använder man sig ofta av villkorssatser för att styra programflödet. Med hjälp av en villkorssats kan man styra hur programflödet ska uppföra sig då ett visst villkor är uppfyllt.
if
-satser
Den vanligaste villkorssatsen är if
-satsen. Man har då en sektion med kod som enbart utförs då villkoret är sant, till exempel;
if (villkor)
{
<kodblocket utförs endast om villkor är sant>
}
<Här fortsätter koden sen>
Eller för att skriva det på vanlig svenska; om villkor
är sant gör det här…
Om villkor
inte är sant, fortsätter programmet att köra koden som finns efter ”}
”-tecknet.
Man kan även begära att något annat ska utföras i de fall som villkoret inte är sant. Då gör man så här;
if ( villkor)
{
<utförs endast om villkor är sant>
} else {
<utförs endast om villkor är falskt>
}
Med den programkoden säger man; om villkor
är sant gör det som står i första blocket, i annat fall gör det som står i else
-blocket.
Om man vill kan man lägga if
-satser inuti andra if
-satser. Det kallas nästlade eller inkapslade if
:ar. Sådana kan man använda om man vill att programmet ska kolla om flera saker är sanna. Men som ni kommer att se i nästa sektion, går det ibland att lösa dylika situationer på ett mer effektivt sätt. Ett exempel på nästlade if
-satser:
if ( villkor)
{
if ( villkor2)
{
<utförs endast om både villkor och villkor2 är sanna>
}
}
Som sagt, man kan lösa detta på ett effektivare sätt, men för att kunna det behöver vi kunna jobba med sanningsvärden. Vilket vi återkommer till nästa aktivitet.
Följande är lite överkurs, men det kan vara bra att känna till.
switch
När man vill testa något som kan ha många olika värden kan det lätt bli många if
:ar. För att lösa såna situation på ett snyggare sätt så kan man använda sig av switch
.
switch( testuttryck)
{
case testvärde1:
break;
case testvärde2:
break;
case testvärde2:
break;
default:
break
}
Trinary-operatorn
Ett kompakt sätt att göra en villkorlig tilldelning är att använda sig av trinary-operatorn. Den heter så på grund av att den består av tre delar.
a = testvillkor ? sant : falskt;