Operatori logici
Esistono diversi operatori logici binari e uno unario. Gli argomenti per tutti questi operatori sono letterali logici (costanti), variabili logiche ed espressioni che hanno un valore logico.
Operatori:
!
- “negazione”, un operatore unario, cambia il significato nel contrario (inverte: trasforma una bugia in verità e trasforma la verità in una bugia).
&&
- la “e” (“congiunzione”, “intersezione”) logica, un'operazione binaria, restituisce vero se e solo se entrambi gli operandi sono veri.
||
- "o" logico ("disgiunzione", "unione"), operazione binaria, restituisce il valore vero quando almeno uno degli operandi è vero.
Gli operatori logici hanno la seguente priorità: negazione, congiunzione, disgiunzione. Proprio come nel caso degli operatori aritmetici, le parentesi vengono utilizzate per correggere la precedenza. Se una coppia di parentesi è nidificata all'interno di un'altra coppia di parentesi, viene valutato per primo il valore nelle parentesi interne. Esempi:
boolean a = true;
boolean b;
b = a || true;
b = !b;
System.out.println(b);
a = a || b;
boolean c;
c = a && (a||b);
System.out.println(c);
In Java, i tipi booleani e numerici non possono essere convertiti tra loro.
Operatori di confronto
La maggior parte degli operatori di confronto si applicano ai valori numerici. Questi sono tutti operatori binari che hanno due argomenti numerici, ma restituiscono un valore booleano.
>
- l'operatore “più di”.
>=
— operatore “maggiore o uguale”.
<
— operatore “minore di”.
<=
— operatore “minore o uguale”.
!=
— operatore “non uguale”.
==
— operatore di equivalenza (uguaglianza).
Gli ultimi due operatori possono essere utilizzati non solo per valori numerici, ma anche, ad esempio, per valori logici. Esempi:
boolean m;
m = 5 >= 4;
m = 5 != 5 || false;
boolean w;
w = m == false;
System.out.println(w);
È molto importante non confondere l'operatore di equivalenza con l'operatore di assegnazione. Nelle espressioni che contengono operatori di tipo diverso, vengono eseguite prima le operazioni aritmetiche, poi le operazioni di confronto, quindi le operazioni logiche e infine l'assegnazione.
Dichiarazione condizionale if
L'operatore
if
garantisce che un'istruzione venga eseguita o saltata in base a una condizione logica specificata. Se la condizione è vera,
l'istruzione viene eseguita.
if (condition) инструкция;
Al posto di un'istruzione può esserci un'istruzione regolare (un comando) o un'istruzione composta (un blocco contenente diversi comandi, comprese altre istruzioni condizionali). Esempi (se viene specificato zero come valore della variabile, la divisione non verrà eseguita e il suo risultato non verrà visualizzato sullo schermo):
int a = 25;
if (a != 0) System.out.println( 100/a );
int b = 25;
if (b != 0) {
System.out.println( 100/b );
}
Nonostante il codice nel primo esempio appaia più compatto, solo nel secondo esempio sarebbe possibile eseguire più istruzioni se la condizione è vera. L'operatore
if
ha un formato con una parte aggiuntiva
else
:
if (condition)
инструкция1;
else
инструкция2;
Se
la condizione è vera, viene eseguita un'istruzione semplice o composta1 , mentre se la condizione è falsa, viene eseguita
un'istruzione semplice o composta2 . Esempio:
int a = 0;
if (a != 0) System.out.println( 100/a );
else System.out.println("На нуль делить нельзя");
GO TO FULL VERSION