John Squirrels
Nível 41
San Francisco

Java Booleano

Publicado no grupo Random-PT
A palavra “boolean” no contexto da linguagem Java pode ser usada em significados diferentes, embora muito relacionados. Poderia ser:
  • tipo primitivo booleano ou variável booleana deste tipo
  • Classe booleana Java ou objeto wrapper booleano
  • Expressão booleana , valor booleano, alguma condição
  • Operadores Booleanos Java
Neste artigo, abordaremos todas essas opções e explicaremos quais conceitos fundamentam as expressões booleanas . Java booleano - 1

O que é um booleano no sentido geral

O conceito de expressão booleana veio da matemática, ou melhor, da lógica matemática. Uma expressão booleana em álgebra proposicional é uma expressão que pode ser considerada verdadeira ou falsa. Por exemplo:
“A neve é ​​branca” “Crocodilos podem voar” “2 + 2 = 4” “1 + 1 = 21”
Ao mesmo tempo, "2" ou "neve" não são expressões booleanas .

Tipo de dados primitivo booleano Java e variáveis ​​booleanas

Falando de um booleano em Java, primeiro é mais provável que seja um tipo de dados primitivo booleano e variáveis ​​booleanas desse tipo. Como você provavelmente já adivinhou, variáveis ​​desse tipo podem assumir apenas dois valores, verdadeiro e falso. Java tem restrições bastante rígidas: um booleano em Java não pode ser convertido em nenhum outro tipo de dados e vice-versa. Em particular, boolean em Java não é um tipo integral e valores inteiros não podem ser usados ​​em vez de booleanos. Aqui está um exemplo de configuração direta de um tipo booleano :
boolean myBoolean; //boolean variable
myBoolean = false;
boolean myBoolean1 = true; //another boolean variable
Aqui temos 2 variáveis ​​booleanas . Vamos escrever um pequeno programa com um exemplo de uso de um tipo booleano :
//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
Este programa imprime “falso” no console. A propósito, uma variável booleana é definida como falsa por padrão, mas Java não permite que você trabalhe com variáveis ​​locais não inicializadas.

Expressões booleanas em Java

Além de inicializar explicitamente uma variável booleana como true ou false, o tipo de dados booleano é usado implicitamente em muitos lugares. Assim como o resultado de qualquer soma de números será um número, o resultado de qualquer comparação será verdadeiro ou falso, ou seja, será do tipo booleano . Isso significa que, além de especificar diretamente um valor booleano por meio da instrução de atribuição de variável booleana , os valores booleanos resultam de várias comparações, como 5 > 2 , e são usados ​​principalmente em instruções condicionais e de loop. Aqui está um exemplo de tal uso do tipo booleano :
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       int a = 5;
       int b = 7;
       System.out.println(a < b);
       System.out.println(0 > 7);
       System.out.println(myBoolean == false);
   }
}
A saída é:
verdadeiro falso verdadeiro
No caso de a < b , o operador < comparou a expressão à esquerda com a expressão à direita. Exibimos o resultado da comparação na tela. Como 5 < 7 (a declaração é verdadeira), o valor true será impresso no console. No segundo caso, exibimos uma comparação direta de zero e sete e, no terceiro, perguntamos se o valor da variável myBoolean é falso. Como esse é o caso, exibimos o valor true . Na verdade, para construir expressões booleanas em Java, podemos usar qualquer operador de comparação:
operadores de comparação Operador Java Exemplo de operação O resultado da operação
Menos < a < b verdadeiro se a for menor que b caso contrário falso
Maior > a > b true se a for maior que b , caso contrário false
Menor ou igual <= a <= b true se a for menor que b ou forem iguais, caso contrário false
Maior ou igual >= a >= b true , se a maior ou igual a b , caso contrário false
Igual == a == b true , se a é igual a b , caso contrário false
Não igual != a != b true , se a não for igual a b , caso contrário false

Onde valores booleanos são usados

Valores booleanos e expressões condicionais são frequentemente usados ​​nas condições de instruções de ramificação, operadores ternários e loops. Na verdade, seu uso é baseado na verificação de certas expressões booleanas . Por exemplo:
public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }
      }
}
Este programa imprime uma sequência de inteiros e os incrementa em um, desde que a condição entre colchetes após o while seja atendida. Ou seja, enquanto a expressão i <=10 for verdadeira.

Operadores booleanos Java. Construindo Expressões Booleanas com Operadores Booleanos

As seguintes operações lógicas (ou booleanas) estão disponíveis em Java:
  • Negação lógica, também é NÃO ou inversão. Em Java, denotado pelo símbolo ! antes da expressão.

  • E lógico, também é E ou conjunção. Denotado pelo símbolo & entre as duas expressões às quais é aplicado.

  • Lógico ou em Java, também é OU, também é disjunção. Em Java, denotado pelo símbolo | entre duas expressões.

  • Exclusivo ou, XOR, disjunção estrita. Em Java, é indicado pelo símbolo ^ entre duas expressões.

  • Em Java, os operadores lógicos incluem o condicional ou, denotado como || , bem como o condicional e, && .

Vamos dar uma olhada na tabela com uma breve descrição de cada um dos operadores booleanos Java e, a seguir, os descreveremos com mais detalhes e daremos exemplos de código. Por “operandos” na tabela, entendemos a expressão lógica ou variáveis ​​às quais o operador é aplicado.
a | b == true
Operador booleano Java Nome Tipo Descrição Exemplo
! Lógico “não” (negação) unário !x significa “não x”. Retorna true se x for false . Retorna falso se x for verdadeiro .
boolean x = true;

então

// !x == false
& Lógico "e" (e, multiplicação lógica) binário (a & b) retorna true se a e b forem true .
a = true;
b = false;

então

a & b == false
| OR lógico (adição lógica) binário (a | b) retorna true se a ou b ou ambos forem true .
a = true;
b = false;

então

^ OU exclusivo lógico (XOR) binário (a ^ b) retorna true , se apenas um dos operandos (a ou b) for true . Retorna false , se a e b forem verdadeiros ou falsos simultaneamente. De fato, se a não for igual a b , retorna true .
a = true;
b = false;

então

a ^ b == true
&& AND condicional (abreviado como AND lógico) binário a && b É o mesmo que a & b , mas se a for false , o operador apenas retorna false sem verificar b .
|| OR condicional (ou lógico abreviado) binário um || b é o mesmo que a | b , mas se a for verdadeiro , o operador apenas retorna verdadeiro sem verificar b .
Observe que em Java, os operadores & , | e ^ também se aplicam a números inteiros. Nesse caso, eles funcionam de maneira um pouco diferente e são chamados de operadores lógicos bit a bit (ou bit a bit). Vamos dar um exemplo e exibir várias expressões lógicas compostas usando operadores lógicos.
public class BoolTest2 {
   public static void main(String[] args) {
   int a = 5;
   int b = 7;
   boolean myBool1 = true;
   boolean myBool2 = false;
       System.out.println(myBool1&myBool2);
       System.out.println(myBool1|myBool2);
       System.out.println(!myBool1);
       System.out.println((a > b) & !myBool1 | myBool2);
   }
}
Aqui está a saída:
falso verdadeiro falso falso
Na verdade, você pode fazer construções lógicas muito complexas usando operadores lógicos. por exemplo
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
Se todas as variáveis ​​forem inicializadas, essas construções funcionarão. No entanto, você não deve abusar deles, eles dificultam a leitura do código. No entanto, é muito útil lidar com tais construções lógicas. Tente fazer expressões lógicas com outros operadores lógicos fornecidos na tabela.

Precedência de operações lógicas

Assim como na matemática, na programação, os operadores têm uma ordem específica de execução caso ocorram na mesma expressão. Os operadores unários têm vantagens sobre os binários e a multiplicação (mesmo lógica) sobre a adição. Aqui estão os operadores lógicos colocados na lista de tópicos mais altos, quanto maior a sua prioridade:
  • !

  • &

  • ^

  • |

  • &&

  • ||

Java wrapper booleano

Em Java, cada tipo primitivo possui um "irmão", uma classe wrapper ( Wrapper ). Um wrapper é uma classe especial que armazena o valor de um primitivo dentro. No entanto, esta é uma classe, então você pode criar instâncias (objetos) dela. Esses objetos armazenam os valores necessários de primitivos dentro, enquanto eles serão objetos reais. O tipo primitivo booleano Java tem uma classe Java Booleana wrapper (com B maiúsculo). Os objetos Boolean Class são criados como qualquer outro:
Boolean b = new Boolean(false);
A classe booleana Java tem métodos úteis. Um dos mais interessantes é o método parseBoolean . O método static boolean parseBoolean(String s) analisa o argumento de string como um booleano. O booleano retornado representa o valor true se o argumento string não for nulo e for igual, ignorando maiúsculas e minúsculas, ao string “true”. Caso contrário, retorna false .

exemplo de método parseBoolean

public class BoolTest2 {

        public static void main(String[] args)
        {
            System.out.println(Boolean.parseBoolean("True"));
            System.out.println(Boolean.parseBoolean("TRuE"));
            System.out.println(Boolean.parseBoolean("False"));
            System.out.println(Boolean.parseBoolean("here"));

        }
    }
A saída é:
verdadeiro verdadeiro falso falso
Para reforçar o que você aprendeu, sugerimos que você assista a uma vídeo aula do nosso Curso de Java
Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário