Programação em C# – Operadores Relacionais e Lógicos – 07
Operadores Relacionais em C#
Os operadores relacionais estabelecem a relação entre dois valores, geralmente contidos em variáveis, e retorna sempre um valor lógico True ou False, de acordo com essa relação.
A tabela a seguir mostra os operadores relacionais em C# e seus significados. Na coluna de Exemplo vamos supor que existam duas variáveis, A e B, com os valores 10 e 20 respectivamente:
Operador | Significado | Exemplo |
== | Verifica se dois valores são iguais; se forem, retorna true, caso contrário, retorna false | (A == B) Retorna falso |
!= | Verifica se dois valores são diferentes; se forem, retorna true, caso contrário, retorna false | (A != B) Retorna true |
> | Verifica se o primeiro valor é maior que o segundo, retornando verdadeiro em caso afirmativo | (A > B) Retorna false |
< | Verifica se o primeiro valor é menor que o segundo, retornando verdadeiro em caso afirmativo | (A < B) Retorna true |
>= | Verifica se o primeiro valor é maior ou igual ao segundo, retornando verdadeiro em caso afirmativo | (A >= B) Retorna false |
<= | Verifica se o primeiro valor é menor ou igual ao segundo, retornando verdadeiro em caso afirmativo | (A <= B) Retorna true |
O programa a seguir permite testar os operadores relacionais:
int a = 10;
int b = 20; Console.WriteLine(“a é igual a b? {0}”, (a == b));
Console.WriteLine(“a é diferente de b? {0}”, (a != b)); Console.WriteLine(“a é maior do que b? {0}”, (a > b)); Console.WriteLine(“a é menor do que b? {0}”, (a < b)); Console.WriteLine(“a é maior ou igual a b? {0}”, (a >= b)); Console.WriteLine(“a é menor ou igual a b? {0}”, (a <= b)); |
Veja o resultado da execução desse código a seguir:
Operadores Lógicos em C#
Os operadores lógicos que vamos estudar nesta lição são os operadores AND, OR e NOT, que equivalem aos operadores E, OU e NÃO, que costumamos estudar em lógica de programação.
Operador AND (&&)
Representado pelos caracteres &&, recebe dois valores lógicos como entrada. Abaixo, a tabela da verdade para as entradas A e B (para revisão). S é a saída, ou resultado da operação. V significa verdadeiro (True no C#), e F significa falso (False no C#):
A | B | S |
F | F | F |
F | V | F |
V | F | F |
V | V | V |
O resultado somente será verdadeiro se todas as entradas forem verdadeiras.
Operador OR (||)
Representado pelos caracteres || (“pipes”), também recebe dois valores lógicos como entrada. Abaixo, a tabela da verdade do operador OR, que retorna True se ao menos um dos valores de entrada for True:
A | B | S |
F | F | F |
F | V | V |
V | F | V |
V | V | V |
Operador NOT (!)
Esse é um operador unário, o que significa que recebe apenas um valor lógico como entrada, e inverte esse valor na saída. Ou seja, True se transforma em False e vice-versa.
Abaixo a tabela da verdade do operador NOT:
A | S |
F | V |
V | F |
Resumo dos operadores lógicos em C#
Na tabela abaixo podemos ver os operadores lógicos usados em C# e seus significados. Para os exemplos, vamos assumir que a variável x tenha o valor TRUE e a variável y tenha o valor FALSE:
Operador | Significado | Exemplo |
&& | Operador lógico AND. Retorna TRUE se ambos as variáveis forem TRUE | (x && y) Retorna false |
|| | Operador lógico OR. Retorna TRUE se ao menos uma das variáveis for TRUE | (x || y) Retorna true |
! | Operador lógico NOT. Inverte o estado lógico do operando (variável) | !(x || y) Retorna false |
O código a seguir permite testar os operadores lógicos AND, OR e NOT:
// Testando &&:
int idade;
bool idadeValida;
Console.WriteLine(“Digite sua idade:”);
idade = int.Parse(Console.ReadLine());
// Retorna true se idade estiver entre 0 e 120:
idadeValida = (idade > 0) && (idade <= 120);
Console.WriteLine(idadeValida.ToString());
// Testando ||:
int temperatura;
bool temperaturaInvalida;
Console.WriteLine(“Digite a Temperatura em graus Celsius para verificar se a água está nos estados sólido ou gasoso:”);
temperatura = int.Parse(Console.ReadLine());
//Verifica se a temperatura é inválida (água não está no estado líquido):
temperaturaInvalida = (temperatura < 0) || (temperatura > 100);
Console.WriteLine(temperaturaInvalida.ToString());
// Testando !:
bool valorLogico;
valorLogico = true; // Mude para false para ver o resultado
valorLogico = !valorLogico; //Invertendo o valor lógico
Console.WriteLine(valorLogico.ToString()); //Resultado impresso é inverso do fornecido à variável.
|
Veja o resultado obtido com a execução desse programa abaixo:
Na dúvida? Assista a um vídeo sobre operadores lógicos e relacionais em C#:
Escreva um comentário