In questo articolo imparerai a usare due istruzioni condizionali: if e if … else per controllare il flusso di esecuzione del tuo programma.
Nella programmazione, potresti voler eseguire diverse azioni in base alla condizione specificata è true
o false
(che è nota solo durante il tempo di esecuzione). In questi casi, vengono utilizzate le istruzioni del flusso di controllo.
Istruzione rapida if (if-then)
La sintassi dell'istruzione if in Swift è:
if espressione (// istruzioni)
- Ecco
expression
un'espressione booleana (restituisce otrue
ofalse
). - Se
expression
viene valutato atrue
,if
vengono eseguite le istruzioni all'interno del blocco di codice . - Se
expression
viene valutato afalse
, le istruzioni all'interno del blocco di codice diif
vengono saltate dall'esecuzione.
Come funziona l'istruzione if?
Esempio 1: Swift if Statement
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Quando esegui il programma, l'output sarà:
Il numero è positivo. Questa istruzione viene sempre eseguita.
Nel programma precedente, abbiamo inizializzato un numero costante con valore 10 e l'espressione di test number> 0
restituisce true. Quindi, print("Number is positive.")
viene eseguita l'istruzione all'interno del corpo dell'istruzione if il cui output Number è positivo. nella console …
Ora, cambia il valore di numero in un numero intero negativo. Diciamo -5
. L'output in questo caso sarà:
Questa istruzione viene sempre eseguita.
Quando il numero viene inizializzato con il valore -5, l'espressione di test number> 0
viene valutata su false. Quindi, il compilatore Swift salta l'esecuzione del corpo dell'istruzione if.
Swift if … else (if-else) Statement
L'istruzione if esegue una determinata sezione di codice se l'espressione di test viene valutata su true. L'istruzione if può avere un'istruzione else opzionale. Il codice all'interno del corpo dell'istruzione else viene eseguito se l'espressione di test è falsa.
La sintassi dell'istruzione if-else è:
if espressione (// istruzioni) else (// istruzioni)
Come funziona if… else?
Esempio 2: istruzione Swift if else
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Quando esegui il programma, l'output sarà:
Il numero è positivo. Questa istruzione viene sempre eseguita
Nel programma precedente, il numero costante viene inizializzato con il valore 10 e l'espressione di test number> 0
restituisce true
. Quindi, l'istruzione print("Number is positive.")
all'interno del corpo dell'istruzione if viene eseguita.
Questo numero di output è positivo. nella console e le istruzioni all'interno del corpo di else vengono saltate dall'esecuzione.
Ora, cambia il valore di numero in un numero negativo. Diciamo -5. L'output in questo caso sarà:
Il numero non è positivo. Questa istruzione viene sempre eseguita.
Quando il numero è -5, number> 0
viene valutata l'espressione di test false
. In questo caso, le istruzioni all'interno del corpo di else vengono eseguite e le istruzioni all'interno del corpo di if vengono saltate dall'esecuzione.
Puoi anche sostituire l'istruzione if … else con l'operatore ternario in Swift, che è una specie di notazione abbreviata dell'istruzione if … else.
Swift if … else … if (if-else-if) Istruzione
In Swift, è anche possibile eseguire un blocco di codice tra tanti. Per questo, puoi usare if … else … if ladder come:
La sintassi dell'istruzione if-else-if è:
if espressione1 (// istruzioni) else if espressione2 (// istruzioni) else if espressione3 (// istruzioni) … else (// istruzioni)
Le istruzioni if vengono eseguite dall'alto verso il basso. Non appena l'espressione di test è vera, i codici all'interno del corpo di tale istruzione if vengono eseguiti. Quindi, il controllo del programma salta fuori dal ladder if-else-if.
Se tutte le espressioni di test lo sono false
, viene eseguito il codice all'interno del corpo di else
Esempio 3: Swift if … else … if Statement
Il seguente programma controlla se il numero è positivo, negativo o 0.
let number = 0; if number> 0 ( print("Number is positive.") ) else if (number < 0) ( print("Number is negative.") ) else ( print("Number is 0.") )
Quando esegui il programma, l'output sarà:
Il numero è 0.
Nel programma precedente, il numero costante è inizializzato con il valore 0. Poiché se le istruzioni vengono eseguite dall'alto verso il basso, controlla l'espressione number> 0
che restituisce false
.
Quindi controlla l'espressione successiva number < 0
che restituisce anche false.
Quindi, print("Number is 0.")
viene eseguita l'istruzione all'interno del corpo di else il cui output Number è 0. nella console.
Istruzione Swift nidificata if … else
È possibile avere istruzioni if … else all'interno di un'istruzione if … else in Swift. Si chiama istruzione if … else annidata.
Puoi anche sostituire l'istruzione annidata if … else con switch in Swift, che a volte è un approccio più semplice quando si tratta di diverse opzioni possibili.
La sintassi dell'istruzione if-else annidata è:
if espressione1 (if espressione2 (// istruzioni) else (// istruzioni)) else (if espressione3 (// istruzioni) else (// istruzioni))
Esempio 4: istruzione if … else annidata
Ecco un programma per trovare il più grande di 3 numeri usando istruzioni if else annidate.
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) ) )
Quando esegui il programma sopra, l'output sarà:
Il numero più grande è 4,5