JavaRush /Java Blog /Random-IT /Operatori di confronto e operatori logici. Ramificazione ...
articles
Livello 15

Operatori di confronto e operatori logici. Ramificazione nel programma. Operatore condizionale

Pubblicato nel gruppo Random-IT

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 di confronto e operatori logici.  Ramificazione nel programma.  Operatore condizionale - 1
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 = !b; // b ложно
System.out.println(b); // выведет false
a = a || b; // a истинно
boolean c;
c = a && (a||b); //с истинно
System.out.println(c); // выведет true
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); // выведет true
È 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 ifgarantisce 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):
// Пример 1
int a = 25;
if (a != 0) System.out.println( 100/a );
// Пример 2
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 ifha 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("На нуль делить нельзя");
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION