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 Relacionais em C#

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:

Operadores Lógicos em C#

Na dúvida? Assista a um vídeo sobre operadores lógicos e relacionais em C#:

Sobre Fábio dos Reis (1333 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

Escreva um comentário

Seu e-mail não será divulgado


*