Neste artigo, você aprenderá a usar duas instruções condicionais: if e if … else para controlar o fluxo de execução do seu programa.
Na programação, você pode querer executar ações diferentes com base na condição especificada é true
ou false
(que é conhecido apenas durante o tempo de execução). Para tais casos, são utilizadas instruções de fluxo de controle.
Instrução rápida if (if-then)
A sintaxe da instrução if em Swift é:
if expression (// instruções)
- Aqui
expression
está uma expressão booleana (retornatrue
oufalse
). - Se o
expression
for avaliado comotrue
, as instruções dentro do bloco de código deif
são executadas. - Se o
expression
for avaliado comofalse
, as instruções dentro do bloco de código deif
são ignoradas na execução.
Como se a declaração funciona?
Exemplo 1: declaração if Swift
let number = 10 if number> 0 ( print("Number is positive.") ) print("This statement is always executed.")
Quando você executa o programa, a saída será:
O número é positivo. Esta instrução é sempre executada.
No programa acima, inicializamos um número constante com valor 10 e a expressão de teste é number> 0
avaliada como verdadeira. Conseqüentemente, a instrução print("Number is positive.")
dentro do corpo da instrução if é executada e a saída Number é positiva. no console …
Agora, altere o valor do número para um inteiro negativo. Vamos dizer -5
. A saída, neste caso, será:
Esta instrução é sempre executada.
Quando o número é inicializado com o valor -5, a expressão de teste number> 0
é avaliada como falsa. Conseqüentemente, o compilador Swift pula a execução do corpo da instrução if.
Declaração rápida if … else (if-else)
A instrução if executa uma determinada seção de código se a expressão de teste for avaliada como verdadeira. A instrução if pode ter uma instrução else opcional. O código dentro do corpo da instrução else será executado se a expressão de teste for falsa.
A sintaxe da instrução if-else é:
if expression (// instruções) else (// instruções)
Como se … a instrução else funcionar?
Exemplo 2: declaração if else rápida
let number = 10 if number> 0 ( print("Number is positive.") ) else ( print("Number is not positive.") ) print("This statement is always executed.")
Quando você executa o programa, a saída será:
O número é positivo. Esta instrução é sempre executada
No programa acima, o número constante é inicializado com o valor 10 e a expressão de teste number> 0
avalia para true
. Portanto, a instrução print("Number is positive.")
dentro do corpo da instrução if é executada.
Este número de saídas é positivo. no console e as instruções dentro do corpo de else são ignoradas na execução.
Agora, altere o valor do número para um número negativo. Digamos -5. A saída neste caso será:
O número não é positivo. Esta instrução é sempre executada.
Quando o número é -5, a expressão de teste number> 0
é avaliada como false
. Nesse caso, as instruções dentro do corpo de else são executadas e as instruções dentro do corpo de if são ignoradas.
Você também pode substituir a instrução if… else pelo operador ternário em Swift, que é uma espécie de notação abreviada da instrução if… else.
Instrução rápida if … else … if (if-else-if)
Em Swift, também é possível executar um bloco de código entre muitos. Para isso, você pode usar if … else … if escada como:
A sintaxe da instrução if-else-if é:
if expression1 (// instruções) else if expression2 (// instruções) else if expression3 (// instruções)… else (// instruções)
As instruções if são executadas de cima para baixo. Assim que a expressão de teste for verdadeira, os códigos dentro do corpo dessa instrução if serão executados. Então, o controle do programa salta para fora da escada if-else-if.
Se todas as expressões de teste forem false
, o código dentro do corpo de else é executado
Exemplo 3: Instrução Swift if … else … if
O programa a seguir verifica se o número é positivo, negativo ou 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 você executa o programa, a saída será:
O número é 0.
No programa acima, o número constante é inicializado com o valor 0. Visto que se as instruções são executadas de cima para baixo, ele verifica a expressão number> 0
avaliada como false
.
Em seguida, verifica a próxima expressão, number < 0
que também é avaliada como falsa.
Conseqüentemente, a instrução print("Number is 0.")
dentro do corpo de else é executada e a saída Number é 0. no console.
Swift aninhado if… else Statement
É possível ter instruções if … else dentro de uma instrução if … else no Swift. É chamado de instrução aninhada if … else.
Você também pode substituir a instrução if… else aninhada por switch no Swift, que às vezes é uma abordagem mais simples ao lidar com várias opções possíveis.
A sintaxe da instrução if-else aninhada é:
if expression1 (if expression2 (// instruções) else (// instruções)) else (if expression3 (// instruções) else (// instruções))
Exemplo 4: Declaração aninhada if… else
Aqui está um programa para encontrar o maior de 3 números usando instruções if else aninhadas.
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 você executa o programa acima, a saída será:
O maior número é 4,5