Šajā rakstā jūs iemācīsities izmantot divus nosacījuma apgalvojumus: ja un ja … citādi, lai kontrolētu programmas izpildes plūsmu.
Programmējot, iespējams, vēlēsities veikt dažādas darbības, pamatojoties uz norādīto nosacījumu true
vai false
(kas ir zināms tikai izpildes laikā). Šādos gadījumos tiek izmantoti vadības plūsmas pārskati.
Ātrs paziņojums, ja (ja tad)
Ja paziņojuma sintakse Swift ir šāda:
ja izteiksme (// paziņojumi)
- Šeit
expression
ir Būla izteiksme (atgriež nutrue
vaifalse
). - Ja
expression
tiek novērtētstrue
,if
tiek izpildīti priekšraksti koda blokā . - Ja
expression
tiek novērtēts līdzfalse
, paziņojumi koda blokāif
tiek izlaisti no izpildes.
Kā tad, ja paziņojums darbojas?
1. piemērs: ātrs, ja paziņojums
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Palaidot programmu, izeja būs:
Skaitlis ir pozitīvs. Šis paziņojums vienmēr tiek izpildīts.
Iepriekš minētajā programmā mēs esam inicializējuši nemainīgu skaitli ar vērtību 10, un testa izteiksme number> 0
ir patiesa. Tādējādi print("Number is positive.")
paziņojums, kas tiek izpildīts, ja izraksts tiek izpildīts pamattekstā, ir pozitīvs. konsolē …
Tagad mainiet skaitļa vērtību uz negatīvu veselu skaitli. Teiksim -5
. Šajā gadījumā produkcija būs:
Šis paziņojums vienmēr tiek izpildīts.
Kad skaitlis tiek inicializēts ar vērtību -5, testa izteiksme number> 0
tiek novērtēta kā nepatiesa. Tādējādi Swift kompilators izlaiž if paziņojuma pamatteksta izpildi.
Ātri, ja … cits (ja-cits) paziņojums
Ja paziņojums if izpilda noteiktu koda sadaļu, ja testa izteiksme tiek vērtēta kā patiesa. Ja paziņojumā var būt neobligāts cits paziņojums. Kods cita paziņojuma pamattekstā tiek izpildīts, ja testa izteiksme ir nepatiesa.
Ja-else paziņojuma sintakse ir šāda:
ja izteiksme (// paziņojumi) cits (// paziņojumi)
Kā būtu, ja … cits paziņojums strādā?
2. piemērs: ātrs paziņojums
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Palaidot programmu, izeja būs:
Skaitlis ir pozitīvs. Šis paziņojums vienmēr tiek izpildīts
Iepriekš minētajā programmā nemainīgais skaitlis tiek inicializēts ar vērtību 10, un testa izteiksme tiek number> 0
vērtēta līdz true
. Tādējādi paziņojums print("Number is positive.")
pamattekstā, ja paziņojums tiek izpildīts.
Šis izejas skaitlis ir pozitīvs. konsolē un paziņojumi ķermeņa iekšienē tiek izlaisti no izpildes.
Tagad mainiet skaitļa vērtību uz negatīvu skaitli. Teiksim -5. Šajā gadījumā produkcija būs:
Skaitlis nav pozitīvs. Šis paziņojums vienmēr tiek izpildīts.
Kad skaitlis ir -5, testa izteiksme number> 0
tiek vērtēta kā false
. Šajā gadījumā tiek izpildīti pārskati cita ķermeņa iekšienē, un paziņojumi pamattekstā tiek izlaisti.
Jūs varat arī aizstāt if… else paziņojumu ar trīskāršu operatoru Swift, kas ir sava veida īss apzīmējums if … else paziņojums.
Ātri, ja… citādi … ja (ja-vēl-ja) paziņojums
Programmā Swift ir iespējams arī izpildīt vienu koda bloku starp daudziem. Šim nolūkam jūs varat izmantot, ja … citādi … ja kāpnes kā:
Ja-else-if paziņojuma sintakse ir:
ja izteiksme1 (// apgalvojumi) cits, ja izteiksme2 (// apgalvojumi) cits, ja izteiksme3 (// apgalvojumi) … cits (// paziņojumi)
Ja paziņojumi tiek izpildīti no augšas uz leju. Tiklīdz testa izteiksme ir patiesa, kodi tiek ievadīti tajā, ja tiek izpildīts paziņojums. Pēc tam programmas vadība izlec ārpus kāpnēm, ja citādi.
Ja visas testa izteiksmes ir false
, tiek izpildīts kods cita ķermeņa pamattekstā
3. piemērs: ātri, ja… citādi … ja paziņojums
Šī programma pārbauda, vai skaitlis ir pozitīvs, negatīvs vai 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Palaidot programmu, izeja būs:
Skaitlis ir 0.
Iepriekš minētajā programmā nemainīgais skaitlis tiek inicializēts ar vērtību 0. Tā kā, ja priekšrakstus izpilda no augšas uz leju, tas pārbauda izteiksmi, number> 0
kas novērtē līdz false
.
Pēc tam tas pārbauda nākamo izteicienu, number < 0
kas arī tiek novērtēts kā nepatiesa.
Tādējādi print("Number is 0.")
tiek izpildīts paziņojums else ķermeņa iekšpusē , kura konsolē tiek izvadīts skaitlis 0 .
Ātri ligzdo, ja … cits paziņojums
Ir iespējams, ja… citi paziņojumi ir Swift, ja… cits paziņojumi. To sauc par ligzdotu, ja … citu paziņojumu.
Jūs varat arī aizstāt ligzdoto, ja … citu paziņojumu ar slēdzi Swift, kas dažreiz ir vienkāršāka pieeja, strādājot ar vairākām iespējamām iespējām.
Ligzdotā if-else apgalvojuma sintakse ir šāda:
ja izteiksme1 (ja izteiksme2 (// apgalvojumi) cits (// apgalvojumi)) cits (ja izteiksme3 (// apgalvojumi) cits (// paziņojumi))
4. piemērs: Nested if… else paziņojums
Šeit ir programma, lai atrastu lielāko no 3 numuriem, izmantojot ligzdotu, ja citādi apgalvojumus.
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) ) )
Palaidot iepriekš minēto programmu, izeja būs:
Lielākais skaitlis ir 4,5