Olá desenvolvedores, qual sua maior dúvida sobre os operadores relacionais em Java? Vamos tirá-las todas hoje. Grosso modo operadores são utilizados para executar operações sobre literais, variáveis e/ou expressões. De um modo geral, eles se inserem na etapa onde os dados são processados.

Ou seja, os operadores são utilizados especialmente para operações matemáticas e condições booleanas, principalmente na etapa de processamento da aplicação. Em OPERADORES E SEUS TIPOS EM JAVA falamos sobre cada um deles.

Hoje nos concentraremos nos operadores relacionais que são usados para que possamos estabelecer uma condição entre dois operandos, por exemplo. Em outras palavras, eles são usados para comparar Strings de caracteres, números, efetuar verificações, e tomadas de decisões. Estabelecendo assim uma condição de processamento.

É importante ressaltar que estes operadores sempre retornam valores lógicos (booleanos) – verdadeiro/falso, true/false. Assim sendo, se uma condição for satisfeita executa “A”, se não, executa “B”.

OPERADORES RELACIONAIS NA PRÁTICA

Continuando com o exemplo das notas criaremos um algoritmo simples para comparar duas notas e verificar se elas são iguais. E, se a nota 01 é maior ou menor que a nota 02. Na sequência faremos um exercício de comparação de duas Strings. Nossas variáveis ficaram assim declaradas.

A comparação entre dois valores numéricos é algo de simples entendimento. Observe abaixo, na primeira verificação comparamos se duas variáveis de idêntico valor são diferentes. Se sim, uma mensagem correspondente será exibida no console, se não, uma mensagem equivalente a condição será mostrada na tela.

Na sequência comparamos se a nota 03 é maior ou igual a nota 04. Uma vez verificada a condição, uma mensagem será enviada ao usuário informando a condição.

Uma situação realmente interessante acontece quando fazemos a comparação entre duas Strings. Veja que declaramos dois nomes semanticamente iguais. Mas quando usamos o operador lógico de igualdade (==) padrão do Java para compará-las, o interpretador não as compreende como graficamente iguais.

No caso acima, para o interpretador, “ESTHER” é diferente de “Esther”. Entretanto, o Java oferece diversos recursos para atender a várias necessidades de comparação.

Estamos fazendo um desvio no que diz respeito ao uso dos operadores relacionais. Porém, é uma ótima oportunidade para falarmos mais sobre o método boolean equals, presente na classe Object do pacote java.lang.

Veja o exemplo abaixo:

O método boolean equalsIgnoreCase, compara duas Strings sem fazer distinção entre letras maiúsculas e minúsculas. Retorna true se forem iguais e false caso contrário. No caso de serem iguais retornarão a mensagem “OS NOMES SÃO IDÊNTICOS”.

EM POUCAS PALAVRAS

Java é uma linguagem poderosa e cheia de recursos, como pudemos observar no caso da comparação entre duas Strings. Neste caso, duas cadeias de caracteres somente são consideradas iguais independentemente de serem maiúsculas e minúsculas se tiverem o mesmo comprimento e caracteres correspondentes nas duas cadeias de caracteres.

Um leitor desatento poderia se agarrar a “se tiverem o mesmo comprimento …” e ignorar completamente a parte subsequente que fala dos caracteres correspondentes. Podendo assim inferir que “Alan” e “Alex”, seriam entendidos como iguais por terem o mesmo comprimento. Mas atente-se, nem todos os caracteres que formam os dois nomes são correspondentes.

Quanto aos operadores relacionais não há mistério, e de um modo geral são por meio deles que realizamos ações sobre os dados. Bem como determinamos o fluxo do processamento.