8/18/2019 POO 04 Operadores Logicos e Condicionais
1/26
Programação Orientada a Objetos
Aula 04 – Comandos de
Seleção, expressõesrelacionais e lógicas
Fernando Kenji Kamei
8/18/2019 POO 04 Operadores Logicos e Condicionais
2/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
O Que vimos na aula passada…
2 de 26
! Variáveis
! Tipos de dados
! Expressões em Java
! Aritméticas! Comandos de entrada e saída
8/18/2019 POO 04 Operadores Logicos e Condicionais
3/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Hoje veremos…
3 de 26
! Comandos de Seleção
! Expressões em Java
! Relacionais
!
Lógicas
8/18/2019 POO 04 Operadores Logicos e Condicionais
4/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
4 de 26
Vamos pensar no seguinte jogo:
! Jogo Adivinhação: descobrir se acertou ou errou umnúmero secreto.
8/18/2019 POO 04 Operadores Logicos e Condicionais
5/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
5 de 26
O que precisamos fazer?
Precisamos tomar decisões: ouerrou, ou acertou o chute!
8/18/2019 POO 04 Operadores Logicos e Condicionais
6/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
Condicional
6 de 26
Então temos..
Um número secretoUm chute do usuário
E algumas condições:
! Acertou
! Errou
8/18/2019 POO 04 Operadores Logicos e Condicionais
7/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
Condicional
7 de 26
Númerosecreto
Acertou?
if
Sim
true
Acertou!
Não (else)
false
Nãoacertou
Chute
Condição
8/18/2019 POO 04 Operadores Logicos e Condicionais
8/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
Condicional
8 de 26
Númerosecreto
Acertou?
if
Sim
true
Acertou!
Chute
CondiçãoSEM O
ELSE
8/18/2019 POO 04 Operadores Logicos e Condicionais
9/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
Condicional
9 de 26
Então percebemos que toda condição
booleana é qualquer expressão queretorne true ou false
8/18/2019 POO 04 Operadores Logicos e Condicionais
10/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Comandos de Seleção
Condicional
10 de 26
Para analisar uma condição, podemos
utilizar as Expressões Relacionais ouLógicas.
8/18/2019 POO 04 Operadores Logicos e Condicionais
11/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei 11 de 26
Seis operadores são utilizados em expressões relacionais:
Símbolo Função Exemplo Resultado
== igual 5==2 false!= diferente 2 != 3 true
> maior que 10 > 9 true
< menor que 9 < 8 false
>= maior igual 10 >= 9 true
= 20 false
Expressões em Java
Relacionais
8/18/2019 POO 04 Operadores Logicos e Condicionais
12/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Relacionais
12 de 26
Voltando ao exemplo do Número Secreto poderíamos
utilizar os seguintes operadores realacionais nas
condições:
chute == número secreto ?
chute > número secreto ?
chute < número secreto ?
8/18/2019 POO 04 Operadores Logicos e Condicionais
13/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Relacionais
13 de 26
public class NumeroSecreto {public static void main(String args[]) {
int numeroSecreto = 20;
Scanner in = new Scanner(System.in);
int chute = in.nextInt();
if(chute == numeroSecreto) {
System.out.println(“Acertou o chute!”);
}
else {
System.out.println(“Errou o chute”);
}}
}
8/18/2019 POO 04 Operadores Logicos e Condicionais
14/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Relacionais – Exercício 01
14 de 26
Sistema de Boate (maior de idade)
Uma pessoa só pode entrar na boate se for maior de idade, paraisso, o sistema deve pedir a idade da pessoa.
OBS.: para ser maior de idade tem que possuir 18 anos ou mais.
8/18/2019 POO 04 Operadores Logicos e Condicionais
15/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Relacionais – Exercício 01 (Resolução)
15 de 26
…
if (idade >= 18)
System.out.println(“Entra porque é maior de idade”);
else
System.out.println(“Não entra, menor de idade”);
…
8/18/2019 POO 04 Operadores Logicos e Condicionais
16/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei 16 de 26
As expressões Relacionais também podem ser
concatenadas através de operadores Lógicos
“E” e “OU”.
Expressões em Java
Relacionais
8/18/2019 POO 04 Operadores Logicos e Condicionais
17/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei 17 de 26
Seis operadores são utilizados em expressões relacionais:
Símbolo Função Exemplo Resultado
&& Conjunção (AND) true && false false
|| Disjunção (OR) true || false true
! Negação (NOT) !true false
Expressões em Java
Lógicas
8/18/2019 POO 04 Operadores Logicos e Condicionais
18/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 02
18 de 26
Sistema de Boate (idade e amigo)
Uma pessoa pode entrar na boate se for maior de idade, e, se elafor amigo do dono da boate.
OBS.: para ser maior de idade tem que possuir 18 anos ou mais.
8/18/2019 POO 04 Operadores Logicos e Condicionais
19/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 02 (Resolução)
19 de 26
…
if(idade >= 18 && amigoDono == 1)System.out.println(“Entra”);
else
System.out.println(“Não entra”);
…
8/18/2019 POO 04 Operadores Logicos e Condicionais
20/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 03
20 de 26
Sistema de Boate (idade ou amigo)
Uma pessoa pode entrar na boate se for maior de idade, ou, seela for amigo do dono da boate, mesmo que menor de idade.
OBS.: para ser maior de idade tem que possuir 18 anos ou mais.
8/18/2019 POO 04 Operadores Logicos e Condicionais
21/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 03 (Resolução 1)
21 de 26
…
if(idade >= 18 || amigoDono == 1)
System.out.println(“Entra. Maior de idade, ou é amigodo dono”);
else
System.out.println(“Não entra”);
…
8/18/2019 POO 04 Operadores Logicos e Condicionais
22/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 03 (Resolução 2)
22 de 26
…
if(idade >= 18)
System.out.println(“Entra por que é maior de idade);
else if(amigoDono == 1)
System.out.println(“Entra porque é amigo do dono”);
else
System.out.println(“Não entra porque é menor deidade e não é amigo do dono”);
…Percebam que surgiu mais uma novidade:
else if()
8/18/2019 POO 04 Operadores Logicos e Condicionais
23/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 04
23 de 26
Sistema de Boate (só amigo)
Uma pessoa só pode entrar na boate se for amigo do dono.
8/18/2019 POO 04 Operadores Logicos e Condicionais
24/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
Lógicas – Exercício 04 (Resolução)
24 de 26
…
boolean amigoDono;
Scanner in = new Scanner(System.in);
int amigoDono= in.nextBoolean();
if(!amigoDono)System.out.println(“Não entra”);
else
System.out.println(“Entra, amigo do dono”);
…
8/18/2019 POO 04 Operadores Logicos e Condicionais
25/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Expressões em Java
25 de 26
Por quê não utilizamos as chaves “ { “ e “ } ” nos
comandos condicionais if, else if, else ?
Porque esses só possuem uma única linha de
instrução de bloco!
8/18/2019 POO 04 Operadores Logicos e Condicionais
26/26
Programação Orientada a Objetos | Prof. Fernando Kenji Kamei
Perguntas?
26 de 26
Não esqueçam deler os slides dapróxima aula