În acest articol, veți învăța să utilizați două instrucțiuni condiționale: if și if … else pentru a controla fluxul de execuție al programului dvs.
În programare, poate doriți să efectuați diferite acțiuni pe baza condiției specificate este true
sau false
(care este cunoscută numai în timpul rulării). Pentru astfel de cazuri, sunt utilizate instrucțiunile de flux de control.
Declarație rapidă dacă (dacă-atunci)
Sintaxa declarației if din Swift este:
if expression (// statement)
- Iată
expression
o expresie booleană (returnează fietrue
saufalse
). - Dacă
expression
este evaluat latrue
,if
se execută instrucțiunile din blocul de cod al . - Dacă
expression
este evaluat lafalse
, instrucțiunile din blocul de cod dinif
sunt omise de la executare.
Cum funcționează declarația?
Exemplul 1: Declarație rapidă if
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Când rulați programul, ieșirea va fi:
Numărul este pozitiv. Această declarație este întotdeauna executată.
În programul de mai sus, am inițializat numărul constant cu valoarea 10 și expresia testului se number> 0
evaluează la adevărat. Prin urmare, declarația print("Number is positive.")
din corpul instrucțiunii if este executată, care rezultă Numărul este pozitiv. în consolă …
Acum, schimbați valoarea numărului într-un număr întreg negativ. Să spunem -5
. Rezultatul în acest caz va fi:
Această declarație este întotdeauna executată.
Când numărul este inițializat cu valoarea -5, expresia testului number> 0
este evaluată la fals. Prin urmare, compilatorul Swift omite execuția corpului instrucțiunii if.
Declarație rapidă dacă … else (if-else)
Instrucțiunea if execută o anumită secțiune de cod dacă expresia testului este evaluată ca fiind adevărată. Instrucțiunea if poate avea opțiune else opțională. Codul din instrucțiunea corpului else sunt executate dacă expresia testului este falsă.
Sintaxa declarației if-else este:
if expression (// statement) else (// statement)
Cum dacă … altfel funcționează declarația?
Exemplul 2: Declarație rapidă dacă altceva
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Când rulați programul, ieșirea va fi:
Numărul este pozitiv. Această declarație este întotdeauna executată
În programul de mai sus, numărul constant este inițializat cu valoarea 10 și expresia testului se number> 0
evaluează la true
. Prin urmare, declarația print("Number is positive.")
din corpul declarației if este executată.
Acest rezultat Numărul este pozitiv. în consolă și declarațiile din interiorul corpului else sunt omise de la executare.
Acum, schimbați valoarea numărului într-un număr negativ. Să spunem -5. Rezultatul în acest caz va fi:
Numărul nu este pozitiv. Această declarație este întotdeauna executată.
Când numărul este -5, expresia testului number> 0
este evaluată la false
. În acest caz, declarațiile din corpul celorlalți sunt executate, iar declarațiile din corpul dacă sunt omise de la executare.
De asemenea, puteți înlocui declarația if … else cu operator ternar în Swift, care este un fel de notare abreviută a instrucțiunii if … else.
Declarație rapidă dacă … else … if (if-else-if)
În Swift, este, de asemenea, posibil să executați un bloc de cod printre mulți. Pentru aceasta, puteți utiliza dacă … altfel … dacă scara ca:
Sintaxa instrucțiunii if-else-if este:
if expression1 (// statement) else if expression2 (// statement) else if expression3 (// statement) … else (// statement)
Instrucțiunile if sunt executate de sus în jos. De îndată ce expresia de testare este adevărată, codurile din corpul aceleiași instrucțiuni sunt executate. Apoi, controlul programului sare în afara scării if-else-if.
Dacă toate expresiile de testare sunt false
, codul din corpul else este executat
Exemplul 3: Rapid dacă … altceva … dacă Declarație
Următorul program verifică dacă numărul este pozitiv, negativ sau 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Când rulați programul, ieșirea va fi:
Numărul este 0.
În programul de mai sus, numărul constant este inițializat cu valoarea 0. Deoarece dacă instrucțiunile sunt executate de sus în jos, verifică expresia number> 0
care se evaluează la false
.
Apoi verifică următoarea expresie number < 0
care se evaluează de asemenea ca fiind falsă.
Prin urmare, print("Number is 0.")
se execută declarația din interiorul corpului lui else care iese Numărul este 0. în consolă.
Rapid imbricat dacă … altfel Declarație
Este posibil să aveți declarații if … else într-o declarație if … else în Swift. Se numește declarație imbricată dacă … else.
De asemenea, puteți înlocui declarația imbricată dacă … else cu comutator în Swift, care este uneori o abordare mai simplă atunci când aveți de-a face cu mai multe opțiuni posibile.
Sintaxa instrucțiunii imbricate if-else este:
if expression1 (if expression2 (// statement) else (// statement)) else (if expression3 (// statement) else (// statement))
Exemplul 4: Declarație imbricată dacă … else
Iată un program pentru a găsi cel mai mare număr de 3 numere folosind instrucțiuni imbricate if else.
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) ) )
Când rulați programul de mai sus, ieșirea va fi:
Cel mai mare număr este 4,5