♫ in the jungle, the mighty jungle, the lion sleeps tonight ♫
- Juntou-se
- 10 de Janeiro de 2016
- Postagens
- 464
- Soluções
- 1
- Bravecoins
- 3.103
- Área
- Programação
- Motor de jogo
- Godot
O que são Expressões Lógicas?
As expressões lógicas são um conjunto de código que realiza a análise de dois valores para determinar se o resultado dessa expressão é verdadeira (
true) ou falsa (false).Como são utilizadas as Expressões Lógicas?
Essas expressões podem ser utilizadas em diversas ocasiões. Os mais comuns são em conjunto com o comando
if.O comando
if é utilizado para realizar essa comparação e determina se um certo conjunto de códigos precisa ser executado ou não através do resultado da expressão especificada.A sintaxe do comando
if é o seguinte:
Javascript:
if (expressao) {
// o código aqui dentro será executado se a 'expressao' for verdadeira
}
A
expressao especificada em if precisa ser verdadeira para que o comando dentro de seu escopo seja executado. Do contrário, ele será ignorado pelo programa e seguirá executando os códigos que vierem depois ele.
Javascript:
if (true) {
console.log("Opa!")
}
console.log("Tudo bem?");
// Saída:
// "Opa!"
// "Tudo bem?"
No exemplo acima, a expressão é verdadeira, portanto, é executado o código do escopo do
if.
Javascript:
if (false) {
console.log("Opa!");
}
console.log("Tudo bem?");
// Saída: "Tudo bem?"
Agora, nesse exemplo, a expressão é falsa, resultando na não execução do código do escopo do
if.Existe a possibilidade de executar um certo código quando a expressão lógica do if é falsa e ignorar o código quando o resultado for verdadeiro. Veja o exemplo abaixo:
Javascript:
let solteiro = false;
if (solteiro) {
console.log("Eu sou solteiro.");
} else {
console.log("Eu não sou solteiro.");
}
// Saída: "Eu não sou solteiro."
Como pode ver, é utilizado uma palavra-chave
else depois do escopo do comando if. Else significa "se não" ou "do contrário" e serve justamente para dizer ao computador:"Se a expressão for verdadeira, executa esse código aqui, se não, executa esse outro código aqui."
O comando
else sempre é utilizado em conjunto com o comando if.Uma outra combinação entre as duas palavras-chave é a utilização de
else if. Veja o exemplo abaixo:
Javascript:
let fruta = "banana";
if (fruta == "goiaba") {
console.log("É goiaba");
} else if (fruta == "banana") {
console.log("É banana");
} else if (fruta == "morango") {
console.log("É morango");
} else {
console.log("É outra fruta");
}
// Saída: "É banana"
Lembre-se que o uso de
else e else if é opcional (não é obrigatório). Contudo, é preciso primeiro utilizar if antes deles.As expressões lógicas podem ser utilizadas também em operações ternárias.
Mais informações:
Tipos de Operadores de Expressões Lógicas
Os tipos de operadores de expressões lógicas que serão apresentados nesse tópico são: de comparação, lógicos, aritméticos e de String.
• Operadores de Comparação
É IGUAL A
Quando se deseja saber se um valor é igual a outro, utiliza-se o operador de comparação
== (duplo sinal de igual). Veja o exemplo abaixo:
Javascript:
let numeroJogo = 10;
let numeroSorteado = 15;
if (numeroJogo == numeroSorteado) {
console.log("Você ganhou!");
} else {
console.log("Você perdeu!");
}
// Saída: "Você perdeu!"
Aqui é comparado se o valor da variável
numeroJogo é igual ao valor da variável numeroSorteado, isto é: Se 10 é igual a 15. Essa expressão resultou em falso. Por isso, o código executado é o do escopo do else.Não só com números esse operador trabalha, dá para utilizar outros tipos de dado.
Javascript:
let possui_item_3 = true;
if (possui_item_3 == true) {
console.log("Ele possui o item 3");
}
// Saída: "Ele possui o item 3"
Javascript:
let a1 = 20;
let a2 = 20;
if (a1 == a2) {
console.log("É igual");
} else {
console.log("Não é igual");
}
// Saída: "É igual"
Agora, observe a situação abaixo:
Javascript:
const num1 = 5;
const num2 = '5';
if (num1 == num2) {
console.log("Tá certo!");
} else {
console.log("Tá errado!");
}
// Saída: "Tá certo!"
A expressão do
if do exemplo acima resultou em verdadeiro apesar de os dois valores serem de tipos de dado diferente (um número e um texto [string]). Isso acontece porque o operador de comparação == só compara o valor e ignora o tipo de dado.Para que possamos verificar o tipo de dado em conjunto com o valor, veja a seguir o próximo operador de comparação.
É ESTRITAMENTE IGUAL A
Quando se deseja saber se um valor é igual a outro levando em conta também o seu tipo de dado, utiliza-se o operador de comparação
=== (triplo sinal de igual). Veja o exemplo abaixo:
Javascript:
var num1 = 250;
var num2 = "250";
if (num1 === num2) {
console.log("Ok!");
} else {
console.log("Tá errado isso ai...");
}
// Saída: "Tá errado isso ai..."
Como ambas as variáveis possuem o mesmo valor 250, eles possuem o tipo de dado diferente (número e texto/string). Por causa disso, o código do escopo do
else foi executado.É DIFERENTE DE
Semelhante ao operador de comparação É igual a, quando se deseja saber se um valor é diferente do outro, utiliza-se o operador de comparação
!= (ponto de exclamação e igual). Veja o exemplo abaixo:
Javascript:
let verdade = true;
let mentira = false;
if (verdade != mentira) {
console.log("É verdade!");
} else {
console.log("É mentira!");
}
// Saída: "É verdade!"
Na expressão do exemplo acima,
true é diferente de false, tornando a expressão verdadeira.É ESTRITAMENTE DIFERENTE DE
Semelhante aos operadores É diferente de e assim como É estritamente igual a, esse operador compara tanto os valores quanto os seus tipos de dado, caso ambos se assemelham, o resultado da expressão será verdadeira. É utilizado
!== (ponto de exclamação e duplo sinal de igual) para realizar essa operação.
Javascript:
if (5 !== '5') {
console.log("Acertou!");
} else {
console.log("Errou!");
}
// Saída: "Acertou!"
MAIOR QUE e MAIOR OU IGUAL A
Quando se deseja saber se um valor é maior que outro, utiliza-se o operador
> (maior que).
Javascript:
let num1 = 5;
let num2 = 3;
if (num1 > num2) {
console.log(num1 + "é maior que" + num2);
} else {
console.log(num1 + "não é maior que" + num2);
}
// Saída: "5 é maior que 3"
O resultado do exemplo acima é verdadeiro, já que a expressão lógica
5 > 3 é verdadeira.Agora, quando se deseja saber se um número é maior ou igual a outro número, utiliza-se a operação
>= (maior que e igual) entre esses números.
Javascript:
let num = 12;
let onum = 12;
if (num >= onum) {
console.log("Igualados!");
}
// Saída: "Igualados!"
MENOR QUE e MENOR OU IGUAL A
Semelhante ao operador de maior que e maior ou igual, quando se deseja saber se um valor é menor que outro, utiliza-se o operador
< (menor que).
Javascript:
let num1 = 5;
let num2 = 3;
if (num1 < num2) {
console.log(num1 + "é menor que" + num2);
} else {
console.log(num1 + "não é menor que" + num2);
}
// Saída: "5 não é menor que 3"
O resultado do exemplo acima é falso, já que a expressão lógica
5 < 3 é falsa.E quando se deseja saber se um número é menor ou igual a outro número, utiliza-se a operação
<= (menor que e igual) entre esses números.
Javascript:
let num = 21;
let onum = 25;
if (num <= onum) {
console.log("É menor ou igual!");
} else {
console.log("É maior!");
}
// Saída: "É menor ou igual!"
• Operadores Lógicos
Em conjunto com outros tipos de operadores, é possível realizar diversas comparações ao mesmo tempo interligando elas com os operadores lógicos. Veja a seguir os principais operadores que auxiliam na construção de uma expressão lógica.
AND
O operador AND compara dois valores ou conjuntos de expressões, para isso, utiliza-se
&& (duplo E comercial).
Javascript:
if(10 > 7 && 3 < 4) {
console.log("Correto!");
} else {
console.log("Peraí...");
};
// Saída: "Correto!"
O conjunto de expressão compara duas expressões diferentes. 10 > 7 que resulta em
true e 3 < 4 que também resulta em true.Quando temos uma expressão
true && true, o resultado final do conjunto será verdadeira porque para que um conjunto de expressões ligadas pelo operador AND seja verdadeira, ambas as expressões devem ser verdadeiras. Será o suficiente para que a expressão final seja falsa se uma das expressões resultar em falso.A seguir, você está vendo uma tabela verdade, onde realiza todas as comparações possíveis entre uma expressão A e uma expressão B. O "chapéu" ou o "acento circunflexo" entre as expressões significa AND, assim como vimos anteriormente.
A | B | A ^ B |
V | V | V |
V | F | F |
F | V | F |
F | F | F |
OR
O operador OR, semelhantemente ao operador AND, compara dois valores ou conjuntos de expressões, para isso, utiliza-se
|| (dupla barra vertical). Porém, para que a expressão se satisfaça verdadeira, pelo menos uma das expressões precisa ser verdadeira, diferente do operador AND onde ambas as expressões precisam ser verdadeiras para que o resultado final seja verdadeira. Veja o exemplo:
Javascript:
if (true === true || false !== false) {
console.log("Ok!");
} else {
console.log("Não tá Ok!");
}
// Saída: "Ok!"
Na tabela verdade, o operador OR é conhecido pelo símbolo semelhante a letra V minúscula.
A | B | A v B |
V | V | V |
V | F | V |
F | V | V |
F | F | F |
NOT
O operador NOT (Não ou inverso) inverte o valor lógico de uma variável, é possível fazer isso aplicando um
! antes da expressão lógica ou de uma variável. Se um valor é verdadeiro, invertê-lo tornará falso e vice-versa.
Javascript:
let solteiro = true;
console.log(!solteiro);
// Saída: false
Javascript:
if (!(5 > 3)) {
console.log("Ok!");
} else {
console.log("Peraí...");
}
// Saída: "Peraí..."
Nesse exemplo acima, foi utilizado parênteses
() para que torne prioridade a operação da expressão que está entre elas para depois aplicar os operadores externos, ou seja, primeiro faça 5 > 3 = true, depois inverte o valor lógico do resultado: !true = false, por isso o código do escopo do else foi executado.Na tabela verdade, o operador NOT é representado por um
¬ (ALT GR + 6) que significa negação.A | ¬ A |
V | F |
F | V |
Há outros tipos de operadores que podem ser utilizados mas devido a complexidade para a explicação deles, deixarei uma fonte a seguir para que você possa olhar todo esse conteúdo completo:
Última edição:

