Java Se ... Altro


Condizioni Java e istruzioni If

Java supporta le solite condizioni logiche della matematica:

  • Minore di: a < b
  • Minore o uguale a: a <= b
  • Maggiore di: a > b
  • Maggiore o uguale a: a >= b
  • Uguale a == b
  • Diverso da: a != b

È possibile utilizzare queste condizioni per eseguire azioni diverse per decisioni diverse.

Java ha le seguenti istruzioni condizionali:

  • Utilizzare ifper specificare un blocco di codice da eseguire, se una condizione specificata è vera
  • Utilizzare elseper specificare un blocco di codice da eseguire, se la stessa condizione è falsa
  • Utilizzare else ifper specificare una nuova condizione da verificare, se la prima condizione è falsa
  • Utilizzare switchper specificare molti blocchi di codice alternativi da eseguire

La dichiarazione se

Utilizzare l' ifistruzione per specificare un blocco di codice Java da eseguire se una condizione è true.

Sintassi

if (condition) {
  // block of code to be executed if the condition is true
}

Nota che ifè in lettere minuscole. Le lettere maiuscole (se o se) genereranno un errore.

Nell'esempio seguente, testiamo due valori per scoprire se 20 è maggiore di 18. Se la condizione è true, stampa del testo:

Esempio

if (20 > 18) {
  System.out.println("20 is greater than 18");
}

Possiamo anche testare variabili:

Esempio

int x = 20;
int y = 18;
if (x > y) {
  System.out.println("x is greater than y");
}

Esempio spiegato

Nell'esempio sopra usiamo due variabili, xey , per verificare se x è maggiore di y (usando l' operatore> ). Poiché x è 20 e y è 18 e sappiamo che 20 è maggiore di 18, stampiamo sullo schermo che "x è maggiore di y".



L'altra dichiarazione

Utilizzare l' elseistruzione per specificare un blocco di codice da eseguire se la condizione è false.

Sintassi

if (condition) {
  // block of code to be executed if the condition is true
} else {
  // block of code to be executed if the condition is false
}

Esempio

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}
// Outputs "Good evening."

Esempio spiegato

Nell'esempio sopra, il tempo (20) è maggiore di 18, quindi la condizione è false. Per questo motivo, passiamo alla elsecondizione e stampiamo sullo schermo "Buonasera". Se l'ora fosse inferiore alle 18, il programma stamperebbe "Buona giornata".


L'altra dichiarazione se

Utilizzare l' else ifistruzione per specificare una nuova condizione se la prima condizione è false.

Sintassi

if (condition1) {
  // block of code to be executed if condition1 is true
} else if (condition2) {
  // block of code to be executed if the condition1 is false and condition2 is true
} else {
  // block of code to be executed if the condition1 is false and condition2 is false
}

Esempio

int time = 22;
if (time < 10) {
  System.out.println("Good morning.");
} else if (time < 20) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}
// Outputs "Good evening."

Esempio spiegato

Nell'esempio sopra, il tempo (22) è maggiore di 10, quindi la prima condizione è false. Anche la condizione successiva, nella else ifdichiarazione, è false, quindi passiamo alla else condizione poiché condition1 e condition2 sono entrambe false- e stampiamo sullo schermo "Buonasera".

Tuttavia, se l'ora fosse 14, il nostro programma stamperebbe "Buona giornata".


Short Hand If...Else (Operatore ternario)

Esiste anche una abbreviazione if else, nota come operatore ternario perché composta da tre operandi. Può essere utilizzato per sostituire più righe di codice con una singola riga. Viene spesso utilizzato per sostituire semplici istruzioni if ​​else:

Sintassi

variable = (condition) ? expressionTrue :  expressionFalse;

Invece di scrivere:

Esempio

int time = 20;
if (time < 18) {
  System.out.println("Good day.");
} else {
  System.out.println("Good evening.");
}

Puoi semplicemente scrivere:

Esempio

int time = 20;
String result = (time < 18) ? "Good day." : "Good evening.";
System.out.println(result);


Mettiti alla prova con gli esercizi

Esercizio:

Stampa "Hello World" se xè maggiore di y.

int x = 50;
int y = 10;
 (x  y) {
  System.out.println("Hello World");
}