IFCE – Campus Cedro
Integrado em Informática Programação Orientada a Objetos
Derig Almeida Vidal, MSc
Mestre em Computação Aplicada, Engenheiro de Produção e Tecnólogo em Automática
Aula 04
Estruturas de Controle de Decisão
Prof. Derig Almeida Vidal IFCE - Cedro
Sumário
• Estruturas de Controle de Decisão
– Declarações if – Declarações if-else – Declarações If-else-if – Declarações switch
Estruturas de Controle
• Estruturas de controle de decisão são instruções em linguagem Java que permitem que blocos
específicos de código sejam escolhidos para serem executados, redirecionando determinadas partes do fluxo do programa.
• Tipos: – Decisão – Repetição
Estruturas de Controle de Decisão
• Permitem executar blocos específicos de instruções. • Tipos: – Declarações if – Declarações if-else – Declarações If-else-if – Declarações switch
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração IF
• A declaração if especifica que uma instrução ou bloco de instruções seja executado se, e somente se, uma expressão lógica for verdadeira.
• A declaração if possui a seguinte forma:
if (expressão_lógica) instrução; • ou: if (expressão_lógica) { instrução1; instrução2; ... }
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração IF
Prof. Derig Almeida Vidal IFCE - Cedro
Exercícios
1. Crie um programa que leia três notas, calcule e mostre a média. Caso a média seja maior ou igual a 7, informe que o aluno está aprovado.
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração if-else
• A declaração if-else é usada quando deseja-se executar determinado conjunto de instruções se a condição for verdadeira e outro conjunto se a condição for falsa.
• Possui a seguinte forma:
if (expressão_lógica)
instrução_caso_verdadeiro; else
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração if-else
• Também podemos escrevê-la na forma abaixo:
if (expressão_lógica) { instrução_caso_verdadeiro1; instrução_caso_verdadeiro2; ... } else { instrução_caso_falso1; instrução_caso_falso2; ... }
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração if-else
Exercícios
2. Crie um programa que leia três notas, calcule e mostre a média. Caso a média seja maior ou igual a 7, informe que o aluno está aprovado, caso contrário que ele está reprovado.
Exercícios
3. Faça um programa que receba quatro notas de um aluno, calcule e imprima a média aritmética das notas e a mensagem de aprovado para média superior ou igual a 7.0 ou a mensagem de
reprovado para média inferior a 7.0.
4. Uma empresa decide dar aumento de 30% aos funcionários cujo salário é inferior a 500 reais. Escreva um programa que receba o salário de um funcionário e imprima o valor do salário reajustado ou uma mensagem caso o funcionário não tenha direito ao aumento.
Prof. Derig Almeida Vidal IFCE - Cedro
Exercícios
5. Faça um programa que calcule e imprima o salário reajustado de um funcionário de acordo com a seguinte regra:
– Salário até 300, reajuste de 50%;
– Salário maiores que 300, reajuste de 30%.
6. Faça um programa que receba a altura e o sexo de uma pessoa, calcule e imprima o seu peso ideal, utilizando as seguintes fórmulas:
– Para homens: (72.7 * H) - 58; – Para mulheres: (62.1 * H) – 44.7;
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração if-else-if
• A declaração else pode conter outra estrutura if-else. Este cascateamento de estruturas permite ter decisões lógicas muito mais complexas.
• A declaração if-else-if possui a seguinte forma:
if (expressão_lógica1) instrução1; else if(expressão_lógica2) instrução2; else instrução3;
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração if-else-if
Prof. Derig Almeida Vidal IFCE - Cedro
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração if-else-if - Exemplo
import javax.swing.JOptionPane; public class Main {
public static void main(String[] args) { int mes;
mes = Integer.valueOf(JOptionPane.showInputDialog("Informe o mês")); if ((mes >= 1) && (mes <= 3)) {
JOptionPane.showMessageDialog(null, "1º trimestre"); } else if ((mes >= 4) && (mes <= 6)) {
JOptionPane.showMessageDialog(null, "2º trimestre"); } else if ((mes >= 7) && (mes <= 9)) {
JOptionPane.showMessageDialog(null, "3º trimestre"); } else if ((mes >= 10) && (mes <= 12)) {
JOptionPane.showMessageDialog(null, "4º trimestre"); } else {
JOptionPane.showMessageDialog(null, "Mês Inválido"); }
} }
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração switch
• Outra maneira de indicar uma condição é através de uma declaração switch.
• A construção switch permite que uma única variável inteira tenha múltiplas possibilidades de finalização.
Declaração switch
• A declaração switch possui a seguinte forma: switch (variável_inteira) { case valor1: instrução1; // instrução2; // bloco 1 ... // break; case valor2: instrução1; // instrução2; // bloco 2 ... // break; default: instrução1; // instrução2; // bloco n ... // break;
Declaração switch
• Onde, variável_inteira é uma variável de tipo byte, short, char ou int. valor1, valor2, e assim por diante, são valores constantes que esta variável pode assumir.
• Quando a declaração switch é encontrada, o fluxo de
controle avalia inicialmente a variável_inteira e segue para o case que possui o valor igual ao da variável. O programa executa todas instruções a partir deste ponto, mesmo as do próximo case, até encontrar uma instrução break, que interromperá a execução do switch.
• Se nenhum dos valores case for satisfeito, o bloco default será executado. Este é um bloco opcional. O bloco default não é obrigatório na declaração switch.
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração switch
Prof. Derig Almeida Vidal IFCE - Cedro
Declaração switch - Exemplo
public class Grade {
public static void main(String[] args) { int grade = 92; switch(grade) { case 100: System.out.println("Excellent!"); break; case 90: System.out.println("Good job!"); break; case 80: System.out.println("Study harder!"); break; default:
System.out.println("Sorry, you failed."); }
} }
Prof. Derig Almeida Vidal IFCE - Cedro
Exercícios
7. Faça um programa que receba a idade de um nadador e imprima a sua categoria seguindo as regras: Categoria Idade Infantil A 5 – 7 anos Infantil B 8 – 10 anos Infantil C 11 – 13 anos Infantil D 14 – 17 anos Sênior Maiores de 18
Prof. Derig Almeida Vidal IFCE - Cedro
Resposta da 5º
import javax.swing.JOptionPane; public class Main {
public static void main(String[] args) { int idade;
idade = Integer.valueOf(JOptionPane.showInputDialog("Informe a idade")); switch (idade) {
case 5: case 6: case 7:
JOptionPane.showMessageDialog(null, "Infantil A"); break; case 8: case 9: case 10: JOptionPane.showMessageDialog(null, "Infantil B"); break; case 11: case 12: case 13:
Prof. Derig Almeida Vidal IFCE - Cedro
Resposta da 5º
JOptionPane.showMessageDialog(null, "Infantil C"); break; case 14: case 15: case 16: case 17: JOptionPane.showMessageDialog(null, "Infantil D"); break; default: JOptionPane.showMessageDialog(null, "Sênior"); } } }Prof. Derig Almeida Vidal IFCE - Cedro
Exercícios
8. Faça um programa que receba o preço de um produto e o seu código de origem e imprima a sua procedência. A procedência obedece a tabela a seguir:
Código de Origem Procedência
1 Sul 2 Norte 3 Leste 4 Oeste 5 ou 6 Nordeste 7, 8 ou 9 Sudeste 10 até 20 Centro-Oeste 21 até 30 Nordeste
Exercícios
9. Faça um programa que mostre um menu com as seguintes opções:
– Soma
– Raiz quadrada – Finalizar
O programa deve receber a opção desejada, receber os dados necessários para a operação de cada opção, realizar a operação e imprimir o resultado. Na opção finalizar nada deve
acontecer.
Exercício
10.Uma empresa decide aplicar descontos nos seus preços usando a tabela a seguir. Faça um
programa em JAVA que receba o preço atual de um produto e que calcule e mostre o novo preço.