Home Estrutura condicional
Post
Cancelar

Estrutura condicional

As decisões de um programa são avaliadas por expressões comparativas e lógicas, que direcionam o fluxo de execução conforme o resultado.

Expressões comparativas

São aquelas que comparam uma coisa com outra e seu resultado dá um valor verdadeiro ou falso.

graph LR
    A[expressão] -->|resultado| B(valor verdade)
    C[5 > 10] -->|resultado| D(Falso)
OperadorSignificado
>maior
<menor
>=maior ou igual
<=menor ou igual
==igual
!=diferente

Exemplos:

x = 5resultado
x > 0V
x == 3F
10 <= 30V
x != 2V

Expressões lógicas

São também expressões que avaliadas dão um valor lógico verdadeiro ou falso, elas podem ter outras expressões que utilizam operadores lógicos:

Operadorsignificado
&&E
||OU
!NÃO

Exemplos:

x = 5resultado
x <= 20 && x == 10F
x <= 20V
x == 10F
x > 0 && x != 3V
x > 0V
x != 3V
x <= 20 || x == 10V
!(x == 10)V

Tabela verdade

ABA && BA || B!A
FFFFV
FVFVV
VFFVF
VVVVF

Conceito

É uma estrutura de controle que permite definir que um certo bloco de comandos somente será executado dependendo de uma condição.

graph TD
    A{condição} -->|V| B(bloco 1)
    A{condição} -->|F| D(bloco 2)

Sintaxe da estrutura condicional

Simples

1
2
3
4
if ( condição ) {
     comando 1 ;
     comando 2 ;
}

Composta

1
2
3
4
5
6
7
8
if ( condição ) {
     comando 1 ;
     comando 2 ;
}
else { //senão
     comando 1 ;
     comando 2 ;
}

Exemplo:

graph TD
    AA(Início) --> 
    BB[hora = 5] --> CC[/Quantas horas?/] -->
    A{hora<12} -->|V| B[/Bom dia!/]
    A -->|F| D[/Boa tarde!/]
     --> F(( ))
    B--> F(( ))
     --> FF(fim)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Scanner;
public class Main
{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int hora = 5;
        
        System.out.println("Quantas horas?");
        hora = sc.nextInt();
        
        if (hora < 12 ) {
            System.out.println("Bom dia!");
        }
        else {
            System.out.println("Boa tarde!");
        }
        //System.out.println("Boa noite!");
        sc.close();
    }
}

Exercício

Fazer um programa para ler duas notas em seguida mostrar a nota final (com uma casa decimal), caso a nota seja menor que 12 mostrar a mensagem “REPROVADO”, conforme o exemplo:

1
2
3
4
Digite a primeira nota: 6.0
Digite a segunda nota: 5.0
NOTA FINAL = 11.0
REPROVADO

Solução:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Locale;
import java.util.Scanner;

public class Main {

 public static void main(String[] args) {

     Locale.setDefault(Locale.US);
     Scanner sc = new Scanner(System.in);
  
     double nota1, nota2, notafinal;

     System.out.print("Digite a primeira nota: ");
     nota1 = sc.nextDouble();

     System.out.print("Digite a segunda nota: ");
     nota2 = sc.nextDouble();

     notafinal = nota1 + nota2;

     System.out.printf("NOTA FINAL = %.1f\n", notafinal);

     if (notafinal < 12.0) {
      System.out.println("REPROVADO");
     }

            sc.close();
 }
}

Referências

Esta postagem está licenciada sob CC BY 4.0 pelo autor.