Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Ordem de precedência de operadores lógicos e comparadores

Qual a ordem de precedência dos operadores lógicos e dos comparadores? Por exemplo, na expressão

if (maiorDeIdade == true || acompanhado == false)
{

}

Há algum risco de se avaliado primeiro o trecho true || acompanhado?

1 resposta
solução!

Olá, Adonay!

A precedência segue esta ordem (do mais alto para o mais baixo):

  1. Comparadores (==, !=, ===, !==, >, <, >=, <=)
  2. Operador lógico AND (&&)
  3. Operador lógico OR (||)

Na sua expressão os comparadores == serão avaliados primeiro, seguidos pelo operador lógico ||. Portanto, a expressão será avaliada da seguinte forma:

  • 1- maiorDeIdade == true
  • 2- acompanhado == false
  • 3- O resultado dessas duas comparações será então avaliado pelo operador ||.

Assim, não há risco de true || acompanhado ser avaliado primeiro. A expressão será corretamente interpretada como:

if ((maiorDeIdade == true) || (acompanhado == false)) {
    // código
}

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!