Operatori logici Parte 4
Fa parte della sezione Fondamenti del percorso Java di Coddy. Lezione 26 di 73.
La legge di De Morgan è una regola che ci aiuta a semplificare le espressioni che contengono NOT. Quando lavoriamo con espressioni logiche, a volte dobbiamo semplificarle o riorganizzarle.
Quando hai not davanti a due condizioni unite da and, puoi dividerle in due parti separate. and diventa or e ciascuna parte ha il proprio not:
!(A && B) equivale a (!A) || (!B)
Per esempio:
// Verifichiamo se un numero NON è (compreso tra 1 e 10)
int number = 15;
// Queste due espressioni sono equivalenti:
boolean result1 = !(number >= 1 && number <= 10);
boolean result2 = !(number >= 1) || !(number <= 10);
System.out.println(result1); // true
System.out.println(result2); // trueÈ vero anche il contrario: !(A || B) equivale a (!A) && (!B)
Per esempio:
// Verifica se una persona NON è (uno studente o occupata)
boolean isStudent = false;
boolean isEmployed = false;
// Queste due espressioni sono equivalenti:
boolean result1 = !(isStudent || isEmployed);
boolean result2 = !(isStudent) && !(isEmployed);
System.out.println(result1); // true
System.out.println(result2); // trueSfida
PrincipianteStai aiutando un negozio di animali a creare un sistema per determinare se può vendere un animale a un cliente.
Inizializza le seguenti variabili:
hasLicensecon il valoretruehasSpacecon il valorefalsehasExperiencecon il valoretrue
Scrivi le seguenti espressioni logiche per determinare se:
canSellRegularPet: il cliente ha bisogno di una licenza OPPURE di esperienza, E deve avere spaziocanSellExoticPet: il cliente ha bisogno SIA di una licenza SIA di esperienza, E deve avere spaziocannotSellAnyPet: il cliente NON ha una licenza E NON ha esperienza, OPPURE NON ha spazioresult:canSellRegularPetOPPUREcanSellExoticPetOPPUREcannotSellAnyPet
Suggerimento: Scrivi la condizione descritta dal requisito, non il valore che la variabile contiene al momento. «Deve avere spazio» → hasSpace; «non ha spazio» → !hasSpace. Usa ! solo quando il requisito è l'opposto di ciò che indica il nome della variabile, come «non ha una licenza» → !hasLicense.
Provalo tu
public class Main {
public static void main(String[] args) {
// Inizializza le variabili
// Calcola le condizioni
boolean canSellRegularPet =
boolean canSellExoticPet =
boolean cannotSellAnyPet =
boolean result =
// Non eliminare le righe qui sotto
System.out.println("Can sell regular pet: " + canSellRegularPet);
System.out.println("Can sell exotic pet: " + canSellExoticPet);
System.out.println("Cannot sell any pet: " + cannotSellAnyPet);
System.out.println("Result: " + result);
}
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori - Parte 1
Operatori aritmeticiOperatore moduloIncremento/decrementoIncremento/decremento postfissoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7I/O di base
Metodi di System.outFormattare l'outputClasse ScannerRipasso - Fino a 120Ripasso - Vero o falso10Metodi (Funzioni)
Dichiarare i metodiParametri dei metodiTipi di ritornoSovraccarico dei metodiRipasso - Funzione SigmaRipasso - Funzione di validazioneMetodi void13Operazioni sulle stringhe
Metodi delle stringhe Parte 1Metodi delle stringhe Parte 2Formattazione delle stringheConfronto tra stringhe5Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 43Variabili Parte 2
CostantiConvenzioni di denominazioneRipasso - Inizializzare le variabiliConversione dei tipi Parte 1Conversione dei tipi Parte 26Decisioni
Istruzione ifIf - ElseIstruzione switchOperatore ternarioRiepilogo - If ElseIf - Else annidatiEsercitati da solo: Compilatore Java online