I den här artikeln kommer du att lära dig att använda två villkorliga uttalanden: om och om … annars för att kontrollera flödet av programmets körning.
Vid programmering kanske du vill utföra olika åtgärder baserat på det angivna villkoret är true
eller false
(vilket endast är känt under körtiden). För sådana fall används kontrollflödesuttalanden.
Snabb om (om-då) uttalande
Syntaksen för if-uttalandet i Swift är:
if expression (// uttalanden)
- Här
expression
är ett booleskt uttryck (returnerar antingentrue
ellerfalse
). - Om den
expression
utvärderas tilltrue
,if
utförs uttalanden i kodblocket för . - Om den
expression
utvärderas till hoppasfalse
uttalanden inuti kodblocketif
från körning.
Hur om uttalande fungerar?
Exempel 1: Snabb om uttalande
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
När du kör programmet blir resultatet:
Antalet är positivt. Detta uttalande utförs alltid.
I programmet ovan har vi initierat konstanta tal med värde 10 och testuttrycket number> 0
utvärderas till sant. Följaktligen är uttalandet print("Number is positive.")
inuti kroppen för om uttalandet utförs vilket utgångsnummer är positivt. i konsolen …
Ändra nu värdet på tal till ett negativt heltal. Låt oss säga -5
. Resultatet i detta fall kommer att vara:
Detta uttalande utförs alltid.
När tal initialiseras med värdet -5 number> 0
utvärderas testuttrycket till falskt. Därför hoppar Swift-kompilatorn över utförandet av kroppen av if-uttalandet.
Snabb om … annars (om-annat) uttalande
If-uttalandet kör en viss kodsektion om testuttrycket utvärderas till sant. If-uttalandet kan ha valfritt annat uttalande. Kod inuti annars uttalande körs om testuttrycket är falskt.
Syntaxen för if-else-uttalandet är:
om uttryck (// uttalanden) annat (// uttalanden)
Hur om … annars uttalande fungerar?
Exempel 2: Snabb om annars uttalande
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
När du kör programmet blir resultatet:
Antalet är positivt. Detta uttalande utförs alltid
I programmet ovan initialiseras konstant antal med värdet 10 och testuttrycket number> 0
utvärderas till true
. Därför uttalandet print("Number is positive.")
inuti kroppen av om uttalandet utförs.
Denna utgång Antal är positiv. i konsolen och uttalanden inuti kroppen hoppas över från körning.
Ändra nu värdet på tal till ett negativt tal. Låt oss säga -5. Resultatet i detta fall kommer att vara:
Antalet är inte positivt. Detta uttalande utförs alltid.
När talet är -5 number> 0
utvärderas testuttrycket till false
. I det här fallet körs uttalanden inuti andras kropp och uttalanden inuti kroppen om hoppas över från utförandet.
Du kan också byta ut om … annars uttalande med ternär operatör i Swift, vilket är en kort förkortning av om … annars uttalande.
Snabb om … annars … om (if-else-if) uttalande
I Swift är det också möjligt att utföra ett kodblock bland många. För det kan du använda om … annars … om stege som:
Syntaksen för if-else-if-uttalandet är:
om expression1 (// uttalanden) annars om expression2 (// uttalanden) annat om expression3 (// uttalanden) … annars (// uttalanden)
If-uttalandena utförs uppifrån och ner. Så snart testuttrycket är sant, koder inuti kroppen för det om uttalandet körs. Sedan hoppar kontrollen av programmet utanför if-else-if stege.
Om alla testuttryck är false
, körs koden inuti andras kropp
Exempel 3: Snabb om … annars … om uttalande
Följande program kontrollerar om talet är positivt, negativt eller 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
När du kör programmet blir resultatet:
Antalet är 0.
I ovanstående program initialiseras konstant antal med värdet 0. Eftersom uttalanden körs uppifrån och ned kontrollerar det uttrycket number> 0
som utvärderas till false
.
Därefter kontrolleras nästa uttryck number < 0
som också utvärderas till falskt.
Följaktligen print("Number is 0.")
utförs uttalandet inuti kroppens annat vilket utgångsnummer är 0. i konsolen.
Swift kapslade om … annars uttalande
Det är möjligt att ha om … annars uttalanden inuti ett om … annat uttalande i Swift. Det kallas nestat om … annars uttalande.
Du kan också ersätta kapslad om … annars uttalande med switch i Swift vilket ibland är ett enklare tillvägagångssätt när man hanterar flera möjliga alternativ.
Syntaksen för kapslad if-else-uttalande är:
if expression1 (if expression2 (// statements) else (// statements)) else (if expression3 (// statements) else (// statements))
Exempel 4: Inkapslat om … annars uttalande
Här är ett program för att hitta det största av tre nummer med hjälp av kapslade om annat uttalanden.
let n1 = -1.0, n2 = 4.5, n3 = -5.3 if n1>= n2 ( if n1>= n3 ( print("Largest number is ", n1) ) else ( print("Largest number is ", n3) ) ) else ( if n2>= n3 ( print("Largest number is ", n2) ) else ( print("Largest number is ", n3) ) )
När du kör programmet ovan kommer utmatningen att vara:
Det största antalet är 4,5