1. Sequência de ifdeclarações
Às vezes, um programa precisa executar muitas ações diferentes, dependendo do valor de uma variável ou de uma expressão.
Digamos que nossa tarefa seja algo assim:
- Se a temperatura for superior a
20graus, vista uma camisa - Se a temperatura for maior que
10graus e menor que (ou igual a)20, coloque um suéter - Se a temperatura for maior que
0graus e menor que (ou igual a)10, coloque uma capa de chuva - Se a temperatura for inferior a
0graus, coloque um casaco.
Veja como isso pode ser representado no código:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else { // Here the temperature is less than (or equal to) 20
if (temperature > 10) {
System.out.println("put on a sweater");
} else { // Here the temperature is less than (or equal to) 10
if (temperature > 0) {
System.out.println("put on a raincoat");
} else // Here the temperature is less than 0
System.out.println("put on a coat");
}
}
If-elseas instruções podem ser aninhadas umas nas outras . Isso torna possível implementar uma lógica bastante complexa em um programa.
No entanto, os programadores geralmente escrevem essa construção de maneira um pouco diferente:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else if (temperature > 10) { // Here the temperature is less than (or equal to) 20
System.out.println("put on a sweater");
} else if (temperature > 0) { // Here the temperature is less than (or equal to) 10
System.out.println("put on a raincoat");
} else { // Here the temperature is less than 0
System.out.println("put on a coat");
}
Os dois exemplos dados são equivalentes, mas o segundo é mais fácil de entender.
2. Nuances do elsebloco
Se não usar chaves em uma if-elseconstrução, o elserefere-se ao anterior mais próximo if.
Exemplo:
| Nosso código | Como vai funcionar |
|---|---|
|
|
Se você observar o código à esquerda, parece que a saída da tela será "Você não precisa trabalhar". Mas esse não é o caso. Na realidade, o elsebloqueio e a declaração "Você não precisa trabalhar" estão associados à segunda ifdeclaração (a mais próxima).
No código à direita, os associados ife elseestão destacados em vermelho. Além disso, as chaves são colocadas de forma inequívoca, mostrando claramente quais ações serão executadas. A string Você não precisa trabalhar nunca é exibida quando agefor maior que 60.
3. Exemplo de uso de uma if-elsedeclaração
Já que exploramos if-elsetão bem a afirmação, vamos dar um exemplo:
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner console = new Scanner(System.in); // Create a Scanner object
int a = console.nextInt(); // Read the first number from the keyboard
int b = console.nextInt(); // Read the second number from the keyboard
if (a < b) // If a is less than b
System.out.println(a); // we display a
else // otherwise
System.out.println(b); // we display b
}
}
GO TO FULL VERSION