In dit artikel leert u twee voorwaardelijke uitspraken te gebruiken: if en if… else om de stroom van de uitvoering van uw programma te controleren.
Bij het programmeren wilt u misschien verschillende acties uitvoeren op basis van de gespecificeerde conditie is true
of false
(die alleen bekend is tijdens de runtime). Voor dergelijke gevallen worden controlestroomstatements gebruikt.
Snelle if (if-then) -verklaring
De syntaxis van de if-instructie in Swift is:
if expression (// statements)
- Hier
expression
is een booleaanse uitdrukking (retourneerttrue
offalse
). - Als de
expression
wordt geëvalueerd naartrue
, worden instructies in het codeblok vanif
uitgevoerd. - Als de
expression
wordt geëvalueerd naarfalse
, worden instructies in het codeblokif
van uitvoering overgeslagen.
Hoe als statement werkt?
Voorbeeld 1: Swift if-verklaring
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Wanneer u het programma uitvoert, is de uitvoer:
Nummer is positief. Deze verklaring wordt altijd uitgevoerd.
In het bovenstaande programma hebben we het constante getal geïnitialiseerd met waarde 10 en de testuitdrukking number> 0
evalueert naar waar. Vandaar dat de instructie print("Number is positive.")
in de body van de if-instructie wordt uitgevoerd die Number uitvoert, is positief. in de console …
Verander nu de waarde van number in een negatief geheel getal. Laten we zeggen -5
. De output is in dit geval:
Deze verklaring wordt altijd uitgevoerd.
Als getal wordt geïnitialiseerd met de waarde -5, wordt de testuitdrukking number> 0
geëvalueerd als onwaar. Daarom slaat de Swift-compiler de uitvoering van de body of if-instructie over.
Swift if… else (if-else) -verklaring
De if-instructie voert een bepaald gedeelte van de code uit als de testuitdrukking als waar wordt geëvalueerd. De if-instructie kan een optionele else-instructie hebben. Code in de body van else-instructie wordt uitgevoerd als de testuitdrukking onwaar is.
De syntaxis van de if-else-instructie is:
if expression (// statements) else (// statements)
Hoe als… else-verklaring werkt?
Voorbeeld 2: Swift if else-verklaring
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Wanneer u het programma uitvoert, is de uitvoer:
Nummer is positief. Deze verklaring wordt altijd uitgevoerd
In het bovenstaande programma wordt constant getal geïnitialiseerd met waarde 10 en de testuitdrukking number> 0
evalueert naar true
. Vandaar dat de instructie print("Number is positive.")
in de body van de if-instructie wordt uitgevoerd.
Dit uitgangsnummer is positief. in de console en de instructies in de body van else worden niet uitgevoerd.
Verander nu de waarde van het getal in een negatief getal. Laten we zeggen -5. De output is in dit geval:
Nummer is niet positief. Deze verklaring wordt altijd uitgevoerd.
Als nummer -5 is, wordt de testuitdrukking number> 0
geëvalueerd naar false
. In dit geval worden statements in de body van else uitgevoerd en worden statements in de body van if niet uitgevoerd.
Je kunt ook de if… else-instructie vervangen door de ternaire operator in Swift, wat een soort verkorte notatie is van de if… else-instructie.
Swift if… else… if (if-else-if) verklaring
In Swift is het ook mogelijk om één blok code uit vele uit te voeren. Daarvoor kun je if … else … if ladder gebruiken als:
De syntaxis van de if-else-if-instructie is:
if expression1 (// statements) else if expression2 (// statements) else if expression3 (// statements)… else (// statements)
De if-statements worden van boven naar beneden uitgevoerd. Zodra de testuitdrukking waar is, worden codes in de body van die if-instructie uitgevoerd. Dan springt de besturing van het programma buiten de if-else-if-ladder.
Als alle testuitdrukkingen dat zijn false
, wordt de code in de body van else uitgevoerd
Voorbeeld 3: Swift if… else… if-instructie
Het volgende programma controleert of het getal positief, negatief of 0 is.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Wanneer u het programma uitvoert, is de uitvoer:
Getal is 0.
In het bovenstaande programma wordt het constante getal geïnitialiseerd met de waarde 0. Omdat, als instructies van boven naar beneden worden uitgevoerd, het de uitdrukking controleert number> 0
die resulteert in false
.
Vervolgens wordt de volgende expressie gecontroleerd number < 0
die ook naar false evalueert.
Daarom wordt de instructie print("Number is 0.")
in de body van else uitgevoerd waarvan de output Number 0 is in de console.
Swift genest if… else Statement
Het is mogelijk om if… else-statements in een if… else-statement in Swift te hebben. Het heet geneste if… else-instructie.
Je kunt ook de geneste if… else-instructie vervangen door switch in Swift, wat soms een eenvoudigere benadering is bij het omgaan met verschillende mogelijke opties.
De syntaxis van de geneste if-else-instructie is:
if expression1 (if expression2 (// statements) else (// statements)) else (if expression3 (// statements) else (// statements))
Voorbeeld 4: Geneste if… else-instructie
Hier is een programma om de grootste van 3 getallen te vinden met behulp van geneste if else-instructies.
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) ) )
Wanneer u het bovenstaande programma uitvoert, is de uitvoer:
Het grootste aantal is 4,5