if
-satsen
Detta är en så kallad villkorssats som gör att man,
beroende på värde av ett logiskt (dvs typ boolean
) uttryck, kan göra olika saker.
Exempel:
-
Antag att vi vill skriva ut ordet "Positivt" om variabeln
x
är större än noll. Vi kan då skrivaif (x > 0) { System.out.println("Positivt"); } Indragningen av utskriftssatsen kallas för indentering. Den påverkar inte funktionen men är viktig för programmets läsbarhet. Utskriften kommer endast ske om villkoret är sant dvs om
x
är större än 0. -
Om man vill skriva "Positivt" om
x
är större än 0 annars "Icke positivt"if (x > 0) { System.out.println("Positivt"); } else { System.out.println("Icke positivt"); }
Allmänt utseende
Satsen finns således i två varianter:if (villkor) { en eller flera satser } | och | if (villkor) { en eller flera satser } else { en eller flera satser } |
Varianternas funktion kan åskådliggöras med figurerna: | ||
![]() |
respektive |
![]() |
if
-satsen skall vara ett uttryck av logisk typ dvs boolean
.
Se minilektion om logiska uttryck.
Ofta vill man testa flera olika alternativ. Antag till exempel att vi
vill ha texterna "negativt", "noll" eller "positivt" utskrivna beroende på
värdet av x
. Koden för detta kan skrivas så här:
Det här är dock så vanlig situation så att man föredrar att skriva den så här:
else
-grenen i detta fall)
består av en enda sats (en if
-sats i detta fall).
Observera att denna kod är ekvivalent med koden högre upp - det är bara en skillnad i layout!
Denna layout går naturligtvis att bygga vidare med fler fall. Exempel:
Följande är ett annat sätt att producera samma utskrift:
Övningar
-
Skriv de satser som skriver ut den största av tre variabler
x
,y
ochz
. - Skriv de satser som gör att de tre variablerna
x
,y
ochz
skrivs ut i storleksordning.