John Squirrels
Livello 41
San Francisco

Java booleano

Pubblicato nel gruppo Random-IT
membri
La parola “booleano” nel contesto del linguaggio Java può essere usata in significati diversi, anche se molto correlati. Potrebbe essere:
  • tipo primitivo booleano o variabile booleana di questo tipo
  • Classe booleana Java o oggetto wrapper booleano
  • Espressione booleana , valore booleano, qualche condizione
  • Operatori booleani Java
In questo articolo tratteremo tutte queste opzioni e spiegheremo quali concetti sono alla base delle espressioni booleane . Java booleano - 1

Cos'è un booleano in senso generale

Il concetto di espressione booleana deriva dalla matematica, o meglio, dalla logica matematica. Un'espressione booleana in algebra proposizionale è un'espressione che può essere definita vera o falsa. Per esempio:
“La neve è bianca” “I coccodrilli possono volare” “2 + 2 = 4” “1 + 1 = 21”
Allo stesso tempo, "2" o "neve" non sono espressioni booleane .

Tipo di dati primitivo booleano Java e variabili booleane

Parlando di un booleano in Java, in primo luogo è molto probabilmente un tipo di dati primitivo booleano e variabili booleane di questo tipo. Come probabilmente avrai già intuito, variabili di questo tipo possono assumere solo due valori, true e false. Java ha restrizioni piuttosto rigide: un valore booleano in Java non può essere convertito in nessun altro tipo di dati e viceversa. In particolare, boolean in Java non è un tipo integrale e non è possibile utilizzare valori interi al posto dei booleani. Ecco un esempio di impostazione diretta di un tipo booleano :
boolean myBoolean; //boolean variable
myBoolean = false;
boolean myBoolean1 = true; //another boolean variable
Qui abbiamo 2 variabili booleane . Scriviamo un piccolo programma con un esempio di utilizzo di un tipo booleano :
//boolean variable example
public class BoolTest {

   public static void main(String[] args) {
       boolean myBoolean = false;
       System.out.println(myBoolean);
   }
}
Questo programma stampa "falso" sulla console. A proposito, una variabile booleana è impostata su false per impostazione predefinita, ma Java non ti consente di lavorare con variabili locali non inizializzate.

Espressioni booleane in Java

Oltre all'inizializzazione esplicita di una variabile booleana su vero o falso, il tipo di dati booleano viene utilizzato implicitamente in molti punti. Proprio come il risultato di qualsiasi addizione di numeri sarà un numero, il risultato di qualsiasi confronto sarà vero o falso, cioè sarà di tipo booleano . Ciò significa che, oltre a specificare direttamente un valore booleano tramite l' istruzione di assegnazione della variabile booleana , i valori booleani derivano da vari confronti, come 5 > 2 , e vengono utilizzati principalmente nelle istruzioni condizionali e di ciclo. Ecco un esempio di tale uso del 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);
   }
}
L'uscita è:
vero falso vero
Nel caso di a < b , l' operatore < ha confrontato l'espressione a sinistra con l'espressione a destra. Abbiamo visualizzato il risultato del confronto sullo schermo. Poiché 5 < 7 (l'affermazione è vera), il valore vero verrà stampato sulla console. Nel secondo caso viene visualizzato un confronto diretto tra zero e sette e nel terzo viene chiesto se il valore della variabile myBoolean è falso. Poiché questo è il caso, viene restituito il valore true . Infatti, per costruire espressioni booleane in Java, possiamo utilizzare qualsiasi operatore di confronto:
operatori di confronto Operatore Java Esempio di funzionamento Il risultato dell'operazione
Meno < un < b true se a è minore di b altrimenti false
Maggiore > un > b true se a è maggiore di b , altrimenti false
Minore o uguale <= un <= b true se a è minore di b o sono uguali, altrimenti false
Maggiore o uguale >= un >= b true , se a maggiore o uguale a b , altrimenti false
Pari == un == b true , se a è uguale a b , altrimenti false
Non uguale != un!= b true , se a non è uguale a b , altrimenti false

Dove vengono utilizzati valori booleani

I valori booleani e le espressioni condizionali sono molto spesso usati nelle condizioni delle istruzioni di ramo, degli operatori ternari e dei cicli. Infatti, il loro utilizzo si basa sul controllo di determinate espressioni booleane . Per esempio:
public class BoolTest2 {
       public static void main(String[] args) {
           int i = 0;
           while (i <= 10)
           {
               System.out.println(i);
               i++;
           }
      }
}
Questo programma stampa una sequenza di numeri interi e li incrementa di uno finché la condizione tra parentesi dopo while è soddisfatta. Cioè, mentre l'espressione i <=10 è vera.

Operatori booleani Java. Costruire espressioni booleane con operatori booleani

In Java sono disponibili le seguenti operazioni logiche (o booleane):
  • Negazione logica, è anche NOT o inversione. In Java, indicato dal simbolo ! prima dell'espressione.

  • Logico e, è anche AND o congiunzione. Denotato dal simbolo & tra le due espressioni a cui è applicato.

  • Logico o in Java, è anche OR, è anche disgiunzione. In Java, indicato dal simbolo | tra due espressioni

  • Disgiunzione esclusiva o, XOR, stretta. In Java, è indicato dal simbolo ^ tra due espressioni.

  • In Java, gli operatori logici includono il condizionale o, indicato come || , così come il condizionale e, && .

Diamo un'occhiata alla tabella con una breve descrizione di ciascuno degli operatori booleani Java, e di seguito li descriveremo in modo più dettagliato e forniremo esempi di codice. Per “operandi” nella tabella si intende l'espressione logica o le variabili a cui è applicato l'operatore.
a | b == true
Operatore Java booleano Nome Tipo Descrizione Esempio
! Logico "non" (negazione) unario !x significa "non x". Restituisce true se x è false . Restituisce false se x è true .
boolean x = true;

Poi

// !x == false
& "e" logico (e, moltiplicazione logica) binario (a & b) restituisce true se sia a che b sono true .
a = true;
b = false;

Poi

a & b == false
| OR logico (addizione logica) binario (a | b) restituisce vero se a o b o entrambi sono veri .
a = true;
b = false;

Poi

^ OR logico esclusivo (XOR) binario (a ^ b) restituisce true , se solo uno degli operandi (a o b) è true . Restituisce false , se a e b sono entrambe vere o false contemporaneamente. Infatti se a non è uguale a b restituisce true .
a = true;
b = false;

Poi

a ^ b == true
&& AND condizionale (AND logico abbreviato) binario a && b È uguale a a & b , ma se a è false , l'operatore restituisce semplicemente false senza controllare b .
|| OR condizionale (OR logico abbreviato) binario un || b è uguale a | b , ma se a è vero , l'operatore restituisce solo vero senza controllare b .
Si noti che in Java, gli operatori & , | e ^ si applicano anche agli interi. In questo caso, funzionano in modo leggermente diverso e sono chiamati operatori logici bit per bit (o bit per bit). Facciamo un esempio e mostriamo diverse espressioni logiche composte utilizzando operatori logici.
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);
   }
}
Ecco l'output:
falso vero falso falso
Infatti, puoi realizzare costruzioni logiche molto complesse usando operatori logici. Per esempio
(a<!b)&(q+1 == 12)^(!a | c & b > 1 + b)|(q ^ a > !b)
Se tutte le variabili sono inizializzate, tali costruzioni funzioneranno. Tuttavia, non dovresti abusarne, rendono difficile la lettura del codice. Tuttavia, è molto utile trattare tali costruzioni logiche. Prova a creare espressioni logiche con altri operatori logici indicati nella tabella.

Precedenza delle operazioni logiche

Come in matematica, in programmazione gli operatori hanno uno specifico ordine di esecuzione se ricorrono nella stessa espressione. Gli operatori unari hanno vantaggi rispetto a quelli binari e la moltiplicazione (anche logica) rispetto all'addizione. Ecco gli operatori logici posizionati nell'elenco degli argomenti più in alto, maggiore è la loro priorità:
  • !

  • &

  • ^

  • |

  • &&

  • ||

Wrapper booleano Java

In Java, ogni tipo primitivo ha un "fratello", una classe wrapper ( Wrapper ). Un wrapper è una classe speciale che memorizza al suo interno il valore di una primitiva. Tuttavia questa è una classe, quindi puoi crearne istanze (oggetti). Questi oggetti immagazzinano al loro interno i valori necessari delle primitive, mentre saranno oggetti reali. Il tipo primitivo booleano Java ha una classe booleana Java wrapper (con la B maiuscola). Gli oggetti Boolean Class vengono creati come qualsiasi altro:
Boolean b = new Boolean(false);
La classe booleana Java ha metodi utili. Uno dei più interessanti è il metodo parseBoolean . Il metodo static boolean parseBoolean(String s) analizza l'argomento stringa come booleano. Il valore booleano restituito rappresenta il valore true se l'argomento stringa non è nullo ed è uguale, ignorando maiuscole e minuscole, alla stringa “true”. Altrimenti restituisce false .

esempio di metodo 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"));

        }
    }
L'uscita è:
vero vero falso falso
Per rafforzare ciò che hai imparato, ti suggeriamo di guardare una lezione video dal nostro corso Java
Commenti
  • Popolari
  • Nuovi
  • Vecchi
Devi avere effettuato l'accesso per lasciare un commento
Questa pagina non ha ancora commenti