У овом чланку ћете научити да користите две условне изјаве: ако и ако … другачије за контролу тока извршавања вашег програма.
У програмирању ћете можда желети да извршите различите радње на основу наведеног услова true
или false
(који је познат само током времена извођења). У таквим случајевима се користе изјаве о контролном току.
Брза изјава ако (ако-тада)
Синтакса наредбе иф у Свифту је:
иф израз (// искази)
- Овде
expression
је логички израз (враћа илиtrue
илиfalse
). - Ако
expression
се процењује наtrue
,if
извршавају се изрази унутар блока кода од . - Ако
expression
се процењује наfalse
, наредбе унутар блока кодаif
прескачу се из извршавања.
Како ако изјава функционише?
Пример 1: Брза изјава иф
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Када покренете програм, излаз ће бити:
Број је позитиван. Ова изјава се увек извршава.
У горе наведеном програму иницијализовали смо константни број са вредношћу 10 и тест израз number> 0
израчунава вредност тачно. Дакле, изјава print("Number is positive.")
унутар тела иф наредбе се извршава која даје Нумбер је позитивна. у конзоли …
Сада промените вредност броја у негативан цео број. Рецимо -5
. Излаз у овом случају биће:
Ова изјава се увек извршава.
Када се број иницијализује вредношћу -5, тест израз number> 0
се процењује на фалсе. Дакле, Свифт компајлер прескаче извршавање тела иф наредбе.
Брза изјава ако … другачије (ако-другачије)
Израз иф извршава одређени одељак кода ако је тест израз изражен као истинит. Наредба иф може имати необавезну наредбу елсе. Код унутар тела наредбе елсе извршава се ако је тест израз нетачан.
Синтакса наредбе иф-елсе је:
иф израз (// искази) елсе (// искази)
Како ако… друга изјава функционише?
Пример 2: Брза изјава ако не
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Када покренете програм, излаз ће бити:
Број је позитиван. Ова изјава се увек извршава
У горе наведеном програму, константни број се иницијализује вредношћу 10 и тест израз number> 0
израчунава на true
. Дакле, изјава print("Number is positive.")
унутар тела иф наредбе се извршава.
Ово даје број позитиван. у конзоли и искази унутар тела елсе прескачу се из извршења.
Сада промените вредност броја у негативан број. Рецимо -5. Излаз у овом случају биће:
Број није позитиван. Ова изјава се увек извршава.
Када је број -5, тест израз number> 0
се процењује на false
. У овом случају се извршавају изрази унутар тела елсе, а изрази унутар тела иф прескачу се из извршења.
Такође можете заменити наредбу иф … елсе са тернарним оператором у Свифт-у, што је врста скраћенице записа иф … елсе наредбе.
Брзо ако … друго … ако (ако-иначе-ако) Изјава
У Свифту је такође могуће извршити један блок кода међу многима. За то можете користити иф … елсе … иф мердевине као:
Синтакса наредбе иф-елсе-иф је:
иф израз1 (// наводи) елсе иф израз2 (// наводи) елсе иф израз3 (// наводи) … елсе (// наводи)
Изводи иф се извршавају од врха према дну. Чим је тест израз тачан, кодови унутар тела оне иф наредбе се извршавају. Затим, контрола програма скаче ван мердевина ако-иначе-ако.
Ако су сви тест изрази false
, извршава се код унутар тела елсе
Пример 3: Брзо ако … друго … ако Изјава
Следећи програм проверава да ли је број позитиван, негативан или 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Када покренете програм, излаз ће бити:
Број је 0.
У горе наведеном програму, константни број се иницијализује вредношћу 0. Будући да ако се изрази извршавају од врха до дна, он проверава израз number> 0
који даје вредност false
.
Затим проверава следећи израз number < 0
који такође оцењује као нетачно.
Дакле, print("Number is 0.")
извршава се наредба унутар тела елсе која на конзоли даје број 0 .
Брза угнежђена изјава иф … елсе
Могуће је имати иф … елсе изјаве унутар иф … елсе наредбе у Свифту. Назива се угнежденом иф … елсе изјавом.
Такође можете заменити угнеждену иф … елсе наредбу прекидачем у Свифту, што је понекад једноставнији приступ када се ради о неколико могућих опција.
Синтакса угнеждене наредбе иф-елсе је:
иф израз1 (ако израз2 (// наводи) елсе (// наводи)) елсе (ако израз3 (// наводи) елсе (// наводи))
Пример 4: Угњежђена изјава иф … елсе
Ево програма за проналажење највећег од 3 броја помоћу угнежђених иф елсе израза.
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) ) )
Када покренете горњи програм, излаз ће бити:
Највећи број је 4,5