Escolar Documentos
Profissional Documentos
Cultura Documentos
2 Estruturas condicionais
Estrutura sequencial x Estrutura condicional
sim não
?
3 Estruturas condicionais
Exemplo
} Vamos analisar o saldo da sua conta bancária. Se você tem
dinheiro aplicado na sua conta, então o banco te paga
uma pequena taxa de correção (rendimento). Por outro
lado, se você tem um saldo negativo em sua conta, então
o banco cobra de você uma taxa de juros e seu saldo fica
ainda mais negativo.
4 Estruturas condicionais
Exemplo
} Vamos analisar o saldo da sua conta bancária. Se você tem
dinheiro aplicado na sua conta, então o banco te paga
uma pequena taxa de correção (rendimento). Por outro
lado, se você tem um saldo negativo em sua conta, então
o banco cobra de você uma taxa de juros e seu saldo fica
ainda mais negativo.
5 Estruturas condicionais
Comandos Se ... Então ... Senão
} Vamos traduzir o bloco condicional
sim Saldo não
>= 0?
Saldo = Saldo + Saldo = Saldo –
(Taxa * Saldo) (Multa * Saldo)
6 Estruturas condicionais
Comandos Se ... Então ... Senão
} Em linguagens de programação, tais comandos são
possíveis por meio dos blocos IF ... ELSE
SE Saldo >= 0
ENTÃO Saldo = Saldo + (Taxa * Saldo)
SENÃO
Saldo = Saldo – (Multa * Saldo)
Em Java
if (saldo >= 0)
saldo = saldo + (taxa * saldo);
else
saldo = saldo – (multa * saldo);
7 Estruturas condicionais
Comandos if ... else
} Diretivas if e else são utilizadas, respectivamente para
fazer o teste lógico (if (TESTE)) e para especificar o
que deve ser feito se o teste falhar (else ...)
} Iniciam um novo escopo (nova indentação é
recomendada)
} É possível executar mais de um comando em if ou else
} Comandos simples: uma única linha de código a ser executada
} Comandos compostos: mais de uma linha de código é
necessária para especificar o que tem que ser executado
8 Estruturas condicionais
Comandos if ... else
} Comandos simples x comandos compostos
Comandos simples não
if (saldo >= 0) precisam de chaves.
saldo = saldo + (taxa * saldo); Nesse caso, compilador
else considera que deve
saldo = saldo – (multa * saldo); executar apenas a
próxima linha.
if (saldo >= 0)
{
System.out.println(“Saldo positivo!”);
Comandos compostos
saldo = saldo + (taxa * saldo);
precisam de chaves
}
para delimitar onde
else
começa e onde termina
{
o que precisa ser
System.out.println(“Saldo negativo!”);
executado.
saldo = saldo – (multa * saldo);
}
9 Estruturas condicionais
Comandos if ... else
10 Estruturas condicionais
Comandos if ... else
11 Estruturas condicionais
12 Estruturas condicionais
Executado se o saldo for >= 0
13 Estruturas condicionais
Comandos if ... else
} Muito cuidado é necessário no uso das chaves!
} É “comum” nos esquecermos de usar chaves para delimitar o
bloco de comandos a ser executado
} Isso pode interferir diretamente nos resultados dos nossos
programas!
14 Estruturas condicionais
15 Estruturas condicionais
Somente isso é executado
se Saldo < 0
16 Estruturas condicionais
Comandos if ... else – Expressões booleanas
} O teste de um comando if(Expressao) é sempre uma
expressão booleana
} Resultado dessa expressão pode ser somente verdadeiro ou
falso (true ou false)
} Exemplos:
if (saldo >= 0) ...
if (nota < 6) ...
if (temperatura == 60) ...
if (velocidade > velocidadeMaxima) ...
if (resultado != gabarito) ...
if (estaLigado == true) ...
17 Estruturas condicionais
Comandos if ... else – Expressões booleanas
} Em expressões booleanas envolvendo valores de tipos
primitivos, usamos os operadores de comparação
18 Estruturas condicionais
Comandos if ... else – Expressões booleanas
} Comparações de Strings não usam esses operadores
} São de tipo classe
} A classe String nos dá dois métodos para comparar valores de
strings: equals() e equalsIgnoreCase()
(SUB_EXPRESSÃO_1) || (SUB_EXPRESSÃO_2)
Resulta em true se SUB_EXPRESSÃO_1 OU SUB_EXPRESSÃO_2
forem verdadeiras (true)
22 Estruturas condicionais
Expressões booleanas complexas
} Exemplo:
} Imagine a situação em que você quer alertar um motorista se a
pressão do óleo do motor do carro dele está ou não correta.
Considera-se correta se a pressão do óleo estiver acima de
uma pressão mínima e abaixo de uma pressão máxima
if ((pressao > pressaoMinima) && (pressao < pressaoMaxima) )
System.out.println(“Pressão correta! Boa viagem!”);
else
System.out.println(“Pressão incorreta! Verifique o óleo!”);
23 Estruturas condicionais
Expressões booleanas complexas
} Exemplo:
} Agora, você quer alertar um motorista se a velocidade em que
ele trafega não é permitida. Uma velocidade não é permitida se
ela é menor que a metade da velocidade máxima ou maior que
a velocidade máxima.
if ((velocidade < (velMaxima/2)) || (velocidade > velMaxima) )
System.out.println(“Velocidade incorreta!”);
else
System.out.println(“Velocidade correta! Boa viagem!”);
24 Estruturas condicionais
Negação (!)
} Em Java, quando queremos negar uma expressão
booleana, basta precedermos a mesma com uma
exclamação !
} Uma expressão que teria valor true, quando negada, assume
valor false. De maneira análoga, uma expressão que teria valor
false, quando negada, assuma valor true
} Por exemplo, quando comparando duas strings:
String palavra1, palavra2;
if (palavra1.equals(palavra2)
System.out.println(“São iguais!”);
if (!palavra2.equals(palavra2)
System.out.println(“São diferentes!”);
25 Estruturas condicionais
Negação (!)
} Da mesma forma, podemos fazer equivalências de
operadores de comparação utilizando o operador de
negação
Expressão Equivalente a
!( a < b) a >= b
!( a <= b) a>b
!( a > b) a <= b
!( a >= b) a<b
!( a == b) a != b
!( a != b) a == b
26 Estruturas condicionais
Exercício
} Monte expressões booleanas em Java para os seguintes
testes
} Se a temperatura é maior ou igual a 37, então está com febre
} Se a temperatura é menor que 0, então neva
} Se o usuário não digitou o caractere ‘n’, então imprima a
mensagem na tela
} Se o salário é maior que as despesas ou as economias são
maiores que as despesas, então o saldo é positivo
} Se a ocupação é maior que a mínima e menor que a máxima,
então o teatro tem um público adequado
27 Estruturas condicionais
Comandos if ... else
} O bloco else é opcional
} Quando omitido, o programa simplesmente ignora o comando
que if especifica, quando a expressão é falsa
if (saldo >= 0)
{ if (saldo >= 0)
if(taxa > 0) if(taxa > 0)
saldo = saldo + (taxa * saldo); saldo = saldo + (taxa * saldo);
} else
else saldo = saldo – (multa * saldo);
saldo = saldo – (multa * saldo);
É possível usar com chaves ou sem chaves.A lógica é a mesma: caso haja
comandos de mais de uma linha, as chaves são necessárias. Neste caso, os dois
blocos de comando são idênticos semanticamente. Na dúvida, use as chaves!
29 Estruturas condicionais
Múltiplos blocos if ... else
} Às vezes, temos opções de bifurcação dentro da
bifurcação
não
sim
?
si não
m ?
si não
m ?
Estruturas condicionais
Múltiplos blocos if ... else
} Múltiplos ramos if-else nos dão opção dentre diversas
ações
} Ações são mutuamente exclusivas: apenas uma é executada
} Geralmente, se coloca uma ação padrão, executada quando
todos os demais testes falham
if (Expressão_Booleana_1)
Ação 1
else if (Expressão_Booleana_2)
Ação 2
...
...
else if (Expressão_Booleana_n)
Ação n
else
Ação Padrão
31 Estruturas condicionais
Múltiplos blocos if ... else
} Exemplo 1
if (numero < 10)
System.out.println(“Número < 10”);
else if (numero < 50)
System.out.println(“Número >= 10 e < 50”);
else if (numero < 100)
System.out.println(“Número >= 50 e < 100”);
else
System.out.println(“Número >= 100”);
} Exemplo 2
if (saldo < 0)
System.out.println(“Saldo Negativo!”);
else if (saldo > 0)
System.out.println(“Saldo Positivo!”);
else
System.out.println(“Saldo zerado!”);
32 Estruturas condicionais
Exercício
} Crie um programa em Java que peça ao usuário para
digitar a temperatura atual e imprima as seguintes
mensagens:
} Se temperatura for menor que 0 ºC:“Brrr! Está congelando!”
} Se a temperatura for entre 0 e 15 ºC:“Ainda está frio!”
} Se a temperatura for entre 15 e 25 ºC:“Está esquentando!”
} Se a temperatura for maior ou igual a 25ºC: “Tempo de ir para
a praia!”
33 Estruturas condicionais
Exercício II
} Faça um programa em Java que ofereça uma bebida
alcoólica ao usuário. Para isso, é necessário checar a idade
do mesmo. Se a idade for menor que 18 anos, ele não
pode fazer a solicitação. Caso contrário, exiba para ele a
lista de bebidas a seguir e peça para escolher. Após a
escolha, mostre na tela qual foi a bebida escolhida pelo
usuário. As opções são:
} Cerveja
} Whisky
} Vodka
} Caipirinha
} Tequila
34 Estruturas condicionais