Tome uma decisão: declaração If
Patrick 🐥 é um pato muito educado que gosta de cumprimentar a todos que encontra com “Bom Dia”, “Boa Tarde” ou “Boa Noite” dependendo do horário.

(image by National Geographic: giphy.com/natgeochannel)
Como aprendemos antes, podemos imprimir essas declarações conforme abaixo:
System.out.println("Bom Dia"); // diga isso entre 0:00 - 11:59
System.out.println("Boa Tarde"); // diga isso entre 12:00 - 19:59
System.out.println("Boa Noite"); // diga isso entre 20:00 - 23:59
No entanto, também sabemos que Patrick 🐥 só deveria decidir dizer uma dessas afirmações com base no horário atual.
Em outras palavras, precisamos escrever um código que tome uma decisão sobre o que imprimir com base nas condições da situação (condicionalmente).
Em Java, tomamos uma decisão usando uma declaração if ou uma declaração if…else. Leia as notas abaixo:
Declaração If
if(boolean expression){
Action(s) to Take
}
Uma declaração if segue a estrutura mostrada acima. As ações a serem executadas (instruções) no bloco só serão executadas se a expressão booleana for true. Caso contrário, o programa irá pular para a instrução após o bloco se a expressão booleana for false.
Declaração If-Else
if(boolean expression){
Action(s) to Take A
}else{
Action(s) to Take B
}
Uma declaração if-else segue a estrutura mostrada acima. Se a expressão booleana for true, o programa executará a(s) Ação(ões) para tomar A dentro do bloco if. Caso contrário, o programa executa apenas Action(s) to Take B dentro do bloco else.
Exemplo
boolean likeMusic = true;
if(likeMusic == true) {
System.out.println("I like Music");
} else {
System.out.println("I don't like Music");
}
O código acima imprimirá a declaração I like Music porque a expressão booleana, likeMusic == true, é verdadeira.
Vamos revisitar o exemplo acima e tomar a decisão de Patrick sobre dizer “Bom dia”, “Boa tarde”, “Boa noite”.
Patrick deve dizer “Bom dia” entre 0h e 11h59, “Boa tarde” entre 12h e 19h59 e “Boa noite” entre 20h e 23h59.
- Temos uma variável
currentHourque armazena a hora atual. - Preencha a
boolean expression Ae aboolean expression Bcorretas para completar o programa. - Teste seu resultado atribuindo a variável
currentHoura números de 0 a 23:
Repetição: For-Loop, While-Loop
Na aula de matemática, a professora de Patrick 🐥 pede à turma que resolva um desafio de matemática, e ele pode precisar de ajuda.
A professora pede que eles encontrem a soma de 1, 2, 3, …., 100. Isso é 1 + 2 + 3 + 4 … + 99 + 100?
Embora possamos conectar isso a uma calculadora, isso vai demorar um pouco. Felizmente, em Java, você pode calcular isso facilmente em 3 linhas com a ajuda de um for loop ou while loop.
For loops e While loops são estruturas de controle em Java que permitem executar blocos de código várias vezes.
While Loop
while(boolean expression){
Action(s) to Take
}
Ação(ões) a serem executadas no bloco while serão executadas enquanto a expressão booleana for true.
A seguir está um exemplo que imprime de 1 a 10:
int number = 1;
while(number <= 10){
System.out.println(number);
number = number + 1; // número é incrementado em 1
}
No while loop acima, o programa imprimirá o valor de number e incrementará number. Esta etapa será executada enquanto número <= 10 e, neste caso, o loop termina quando número for 11.
Nota: Para while loops, você deve se lembrar de incrementar a variável condicional, caso contrário você introduzirá um loop infinito em seu programa.
For Loop
for(initialization; termination condition; update statement){
Action(s) to Take
}
Em um for loop, existem três partes no bloco de condição: inicialização, condição de término e instrução de atualização.
- Ao executar um for loop, o programa executará a parte de
inicialização. Um exemplo éint número = 1. - Em seguida, o programa verifica a
condição de término. Um exemplo énúmero <= 10. - Se for
true:- execute as
Ações a serem executadas - execute a
instrução de atualização(um exemplo énúmero = número + 1)
- execute as
- Repita as etapas 2 e 3.
- Se a
condição de finalizaçãoforfalse, saia doforloop.
A seguir está um exemplo que imprime de 1 a 10:
for(int number = 1; number <= 10; number = number + 1){
System.out.println(number);
}
Depois de aprender sobre o for loop e o while loop, vamos ver como podemos ajudar Patrick 🐥 a calcular 1 + 2 + 3 + 4 … + 99 + 100 facilmente?
Vamos tentar fazer isso em um while loop:
- Temos uma variável chamada
totalque rastreia a soma total da adição que obtivemos até agora. - Temos uma variável chamada
numque rastreia o próximo número a ser adicionado aototal. - Escreva a
boolean expressionapropriada e escreva o while loop.
Seguindo essas etapas, obteremos um loop while como este:
int total = 0;
int num = 1;
while(num <= 100){
total = total + num;
num = num + 1;
}
System.out.println("Resposta calculada em um while loop: " + total);
Faça isso abaixo clicando em Run e escreva uma versão do for loop que calcule a mesma coisa! Você deve obter a mesma resposta!