Um trecho de palestra com um mentor como parte do curso Codegym University. Inscreva-se no curso completo.


"Oi, amigo. Deixe-me falar sobre um novo tipo de dados. O booleano . Variáveis ​​desse tipo podem assumir apenas dois valores: verdadeiro e falso . "

"Como podemos usá-lo?"

"Esse tipo é usado implicitamente em muitos lugares. Assim como qualquer operação de adição produz um número, o resultado de qualquer comparação é um booleano . Aqui estão alguns exemplos:"

Código Explicação
1
boolean m;
Essas duas expressões são equivalentes. O valor padrão de uma variável booleana é false .
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
O resultado da comparação ( verdadeiro ou falso ) será atribuído à variável m. A condição é satisfeita se a expressão for avaliada como true .
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
Não há necessidade de comparar uma variável lógica ( booleana ) com true ou false . O resultado da comparação será um booleano que corresponde à outra variável. Por exemplo, true == true é avaliado como true; true == false é avaliado como false .
6
boolean m = (a > b);
if (m)
    System.out.println(a);

"Mais exemplos:"

Código Explicação
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
Este método verifica se o número a é menor que o número b.

Aqui estão quatro comparações equivalentes. O último é o mais compacto e correto. Sempre tente usar notação compacta .

2
public boolean isALessThanB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean isALessThanB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean isALessThanB (int a, int b)
{
    return a < b;
}

"E se eu quiser escrever 0<a<b?"

"Java não tem um operador de comparação que leva três operandos. Então, você precisaria fazer assim: (0<a) AND (a<b) ."

"Devo escrever a palavra E?"

"Espere. Vou explicar isso. Java tem três operadores lógicos: AND , OR e NOT . Você pode usá-los para construir condições de complexidade variável. Você pode usar esses operadores apenas com expressões booleanas . Portanto, você não pode escrever ( a+1) E (3) , mas (a>1)E (a<3) está OK."

"O operador NOT é unário: afeta apenas a expressão à direita. É mais como um sinal de menos antes de um número negativo do que um sinal de multiplicação entre dois números."

"Você pode executar várias operações em variáveis ​​booleanas (lógicas)."

"Como o que?"

"Vamos dar uma olhada:"

operador lógico notação Java Expressão Resultado
E && verdadeiro  &&  verdadeiro verdadeiro
verdadeiro &&  falso falso
falso  &&  verdadeiro falso
falso && falso falso
OU || verdadeiro || verdadeiro verdadeiro
verdadeiro || falso verdadeiro
falso || verdadeiro verdadeiro
falso || falso falso
NÃO ! ! verdadeiro falso
! falso verdadeiro
Combinações e expressões comuns milímetros falso
m || !m verdadeiro
! (a && b) !a || !b
! (a || b) !a && !b

"Você poderia me dar mais exemplos?"

"Claro:"

notação Java notação lógica
(a<3) && (a>0) (a <3) E (a>0)
(a>10) || (um <100) (a>10) OU (a<100)
(a<b) && (!(c<=d)) (a<b) E (NÃO (c<=d))

"Agora, faça algumas tarefas."

4
Tarefa
Java Syntax,  nível 4lição 7
Bloqueado
Labels and numbers
Not all labels are equally useful, but sometimes a lack of labels results in chaos. Let's do a task that dishes out labels: use the keyboard to enter an integer, and make the program indicate whether the number is negative or positive (or zero), and even or odd. Why do we need this? Just because, for practice. After all, we're here to learn!