Nesta aula estudaremos os Operadores Relacionais Simples do Java. Aprenderemos a verificar se um operando é maior que, menor que ou então, igual a outro membro. |
Quais os operadores lógicos do C++? Operadores lógicos constituem o conjunto de conectivos lógicos existentes na lógica fundamental. O C++ utiliza basicamente 2 conectivos lógicos emprestado da matemática, são eles:
- Conectivo de conjunção - ^ - E
- Conectivo de disjunção - v - OU
CONECTIVO ( E )
O conectivo E é utilizado nas expressões em que desejamos que todas as condições sejam verdadeiras, por exemplo:
var1 == 0 E var2 == 100
Temos que a primeira condição deve ser verdadeira (var1 == 0) como também a segunda condição (var2 == 100). Caso uma das condições não seja verdadeiro, o valor lógico ser falso. Assim, o conectivo E exige que todas as condições sejam verdadeiras para que o valor lógico da expressão seja verdadeiro.a
CONECTIVO ( OU )
O conectivo OU diz que uma das expressões deve ser verdadeira, por exemplo:
var1 == 0 OU var2 == 100
Assim, temos que se a primeira condição for verdadeira (var1 == 0) ou então, a segunda condição (var2 == 100), então o valor de toda a expressão será verdadeiro.
OPERADORES LÓGICOS
Operador lógico obtém o valor lógico de uma expressão. O resultado da resolução da expressão é chamado de valor lógico, que em Java, também chamamos de um valor booleano. Em Java temo disponível 3 operadores lógicos, são eles:
- conjunção e
- disjunção ou
- negação not
Em aulas anteriores, estudamos o tipo boolean e aprendemos que esse tipo de dado primitivo armazena valores lógicos, ou seja, armazena 1 para verdadeiro e 0 para falso.
Uma proposição só pode assumir uma condição lógica, ou seja, ou a proposição é verdadeira, ou não é. Assim, o tipo boolean é um tipo especial utilizado para o armazenamento dessa informação.
Os operadores lógicos são utilizados para efetuarmos operações em condições lógicas. Por exemplo: podemos verificar se a idade de uma pessoa é maior do que 18 anos, para isso, basta nós utilizarmos os operadores relacionais que então será retornado, a relação entre a idade da pessoa e o número 18. Porém, se nós precisarmos verificar a idade e o sexo de determinada pessoa? Ou seja, se nós precisarmos obter a relação entre a idade informada e o número 18, e o sexo informado com os gêneros possíveis, como que nós faremos?
É nessas situações que entram os operadores lógicos. Eles fazem a conexão entre dois valores lógicos e retornam a relação existente. Assim, vamos supor a situação onde num time desportivo as mulheres precisam ter no mínimo 10 anos para participar, enquanto que os homens, precisam ter no mínimo 11 anos. Uma das condições possíveis seria:
gênero é igual a homem E idade é maior ou igual a 11 - condição para que os homens possam participar do time desportivo. A condição que verificaria se uma mulher pode participar, pode ser feita da seguinte forma: gênero é igual a mulher E idade é maior ou igual a 10
No exemplo acima, estamos fazendo uma ligação entre duas condições lógicas através do operador de conjunção, ou seja, o operador E.
Os operadores lógicos são fundamentais para que possamos construir expressões lógicas elaboradas. Do contrário, nós até conseguimos implementar as condições lógicas através do aninhamento de tomadas de decisão, porém, o código fica muito mais extenso e a leitura e entendimento se tornam muito mais difícil.
int x = 3;
int y = 5;
int z = 7;
System.out.println("x é maior do que y? " + (x > y));
System.out.println("x é maior do que y ou maior do que z? " + (x > y || x > z ));
System.out.println("x NÃO é maior do que y ou NÃO é maior do que z? " + (!(x > y) || !(x > z )));
System.out.println("x é diferente de z? " + (x != z));
System.out.println("x é maior do que y E maior do que z? " + (x > y && x > z ));
As duas formas lógicas para determinar se um número é maior do que outro.
System.out.println("x é maior do que z? " + (x > z));
System.out.println("x NÃO é menor do que z? " + !(x < z));
((3 > 2) == true); //verdade
((3 < 2) == false); //falso
((3 > 2) || (3 > 5) == true); //verdade
((3 > 2) || (3 > 5) == false); //falso
((3 > 2) || (3 > 5)); //verdade
((1 < 2) && (1 < 5) == true); //verdade
!(((1 < 2) && (1 < 5) == false)); //verdade
EXEMPLO FEITO EM AULA
import java.util.Scanner;
public class Aula0017 {
public static void main(String[] args) {
//Introdução aos operadores lógicos
Scanner in = new Scanner(System.in);
final int iJ, iI;
iJ = 17;
iI = 60;
//mais 17 e menos 60
int idade = in.nextInt();
if(idade <= iJ){
System.out.println("A idade da pessoa informada é de um jovem.");
}else{
if(idade >= iI){
System.out.println("A idade da pessoa informada é de uma pessoa idosa.");
}else{
if(idade > iJ){
System.out.println("É um jovem!");
}
}
}
}
}
Tags curso, java
Comentários
comments powered by Disqus