1. La if-elsedichiarazione

I programmi non sarebbero molto utili se facessero sempre la stessa cosa, indipendentemente da come cambiano le circostanze esterne. Un programma deve essere in grado di adattarsi a situazioni diverse e intraprendere determinate azioni in alcune situazioni e agire in modo diverso in altre.

In Java, questo viene fatto con un'istruzione condizionale , che utilizza una parola chiave speciale che consente di eseguire diversi blocchi di comandi a seconda del valore di verità di una condizione.

Un enunciato condizionale consiste di tre parti: condizione , enunciato 1 e enunciato 2 . Se la condizione è vera, viene eseguita l'istruzione 1 . Altrimenti viene eseguita l'istruzione 2 . Entrambi i comandi non vengono mai eseguiti. Ecco l'aspetto generale di questo tipo di affermazione:

if (condition)
   statement 1;
else
   statement 2;
L' if-elseenunciato condizionale

È abbastanza comprensibile se scritto in un inglese semplice come questo:

If condition is true, then
   execute statement 1;
otherwise
   execute statement 2;
La if-elsedichiarazione in un linguaggio semplice

Esempi:

Codice Spiegazione
int age = 17;
if (age < 18)
   System.out.println("You are still a child");
else
   System.out.println("You are now an adult");
L'output dello schermo sarà:
You are still a child
int temperature = 5;
if (temperature < 0)
   System.out.println("It's freezing outside");
else
   System.out.println("It's warm");
L'output dello schermo sarà:
It's warm
int age = 18;
if (age == 18)
   System.out.println("You've been drafted for military service");
else
   System.out.println("Report for duty anyway");
L'output dello schermo sarà:
You've been drafted for military service


2. Blocco di dichiarazioni

Se la condizione è soddisfatta (o meno) e vuoi che il tuo programma esegua diversi comandi, puoi combinarli in un blocco .

Per combinare i comandi in un blocco, li "avvolgi" tra parentesi graffe . Ecco come appare in generale:

{
   statement 1;
   statement 2;
   statement 3;
}

Puoi avere tutte le istruzioni che vuoi in un blocco. O addirittura nessuno.

Esempi di un'istruzione if-else combinata con un blocco di istruzioni:

Codice Spiegazione
int age = 17;
if (age < 18)
{
   System.out.println("You are still a child");
   System.out.println("Don't talk back to adults");
}
else
{
   System.out.println("You are now an adult");
   System.out.println("And thus ends your youth");
}
L'output dello schermo sarà:
You are still a child
Don't talk back to adults
int temperature = 5;
if (temperature < 0)
{
   System.out.println("It's freezing outside");
   System.out.println("Put on a hat");
}
else
   System.out.println("It's warm");
L'output dello schermo sarà:
It's warm
int age = 21;
if (age == 18)
   System.out.println("You've been drafted for military service");
else
{
}
Il blocco vuoto verrà eseguito.
Il codice funzionerà correttamente, ma non verrà visualizzato nulla .

3. Forma abbreviata della ifdichiarazione

A volte è necessario eseguire una o istruzioni se la condizione è vera , ma non si dovrebbe fare nulla se è falsa.

Ad esempio, possiamo specificare questo comando: , ma non reagire se il bus non è qui. In Java, questo scenario ci consente di utilizzare una forma abbreviata: un'istruzione senza blocco.If Bus No. 62 has arrived, then get aboardifelse

In altre parole, se le istruzioni devono essere eseguite solo se la condizione è vera e non ci sono comandi da eseguire quando la condizione è falsa, allora dovresti usare l' ifistruzione, che è concisa e omette il elseblocco. Sembra così:

if (condition)
   statement 1;
L' ifenunciato condizionale

Di seguito sono riportati tre esempi di codice equivalente:

Codice Spiegazione
int age = 18;
if (age == 18)
{
   System.out.println("You've been drafted for military service");
}
else
{
}
L'output dello schermo sarà:
You've been drafted for military service

Il programma ha un elseblocco, ma è vuoto (non ci sono istruzioni tra le parentesi graffe). Puoi semplicemente rimuoverlo. Nulla cambierà nel programma.

Codice Spiegazione
int age = 18;
if (age == 18)
{
   System.out.println("You've been drafted for military service");
}
L'output dello schermo sarà:
You've been drafted for military service
int age = 18;
if (age == 18)
   System.out.println("You've been drafted for military service");
L'output dello schermo sarà:
You've been drafted for military service