In questo tutorial imparerai a conoscere le istruzioni del flusso di controllo utilizzando le istruzioni if e if … else di Java con l'aiuto di esempi.
Nella programmazione del computer, usiamo l'istruzione if per controllare il flusso del programma. Ad esempio, se viene soddisfatta una determinata condizione, eseguire un blocco di codice specifico. Altrimenti, esegui un altro codice.
Ad esempio assegnando voti (A, B, C) in base alla percentuale ottenuta da uno studente.
- se la percentuale è superiore a 90 , assegnare il voto A
- se la percentuale è superiore a 75 , assegnare il voto B
- se la percentuale è superiore a 65 , assegnare il grado C
Esistono tre forme di if… else
istruzioni in Java.
- istruzione if
- if … else dichiarazione
- if … else if … else dichiarazione
- Istruzione if … else annidata
1. Istruzione Java if (if-then)
La sintassi di un'istruzione if-then :
if (condition) ( // statements )
Qui la condizione è un'espressione booleana. Restituisce o true
o false
.
- se la condizione restituisce
true
,if
vengono eseguite le istruzioni all'interno del corpo di - se la condizione restituisce
false
, le istruzioni all'interno del corpo diif
vengono ignorate
Come funziona l'istruzione if?
Funzionamento dell'istruzione if di JavaEsempio 1: istruzione if Java
class IfStatement ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) System.out.println("Statement outside if block"); ) )
Produzione
Il numero è positivo. Dichiarazione al di fuori di if block
Nell'esempio sopra, abbiamo creato una variabile denominata numero. Notare la condizione del test,
number> 0
Qui, la condizione verifica se il numero è maggiore di 0 . Poiché il numero è maggiore di 0 , la condizione viene valutata true
.
Se cambiamo la variabile in un numero intero negativo. Diciamo -5 .
int number = -5;
Ora, quando eseguiamo il programma, l'output sarà:
Statement outside if block
Questo perché il valore di numero è minore di 0 . Quindi, la condizione restituisce false
. E il corpo del if
blocco viene ignorato.
Nota : per informazioni sull'espressione della condizione, assicurarsi di visitare Operatori relazionali Java e Operatori logici Java.
Possiamo anche usare Java Strings come condizione di test.
Esempio 2: Java se con String
class Main ( public static void main(String() args) ( // create a string variable String language = "Java"; // if statement if (language == "Java") ( System.out.println("Best Programming Language"); ) ) )
Produzione
Miglior linguaggio di programmazione
Nell'esempio sopra, stiamo confrontando due stringhe nel if
blocco.
2. Istruzione Java if … else (if-then-else)
L' if
istruzione esegue una determinata sezione di codice se viene valutata l'espressione di test true
. Tuttavia, se l'espressione di test viene valutata false
, non fa nulla.
In questo caso, possiamo usare un else
blocco opzionale . Le istruzioni all'interno del corpo del else
blocco vengono eseguite se viene valutata l'espressione di test false
. Questo è noto come l' istruzione if-… else in Java.
La sintassi dell'istruzione if … else è:
if (condition) ( // codes in if block ) else ( // codes in else block )
Qui, il programma eseguirà un'attività (codici all'interno del if
blocco) se la condizione è true
e un'altra attività (codici all'interno del else
blocco) se la condizione è false
.
Come funziona l'istruzione if … else?
Utilizzo di istruzioni if-else di JavaEsempio 3: istruzione Java if… else
class Main ( public static void main(String() args) ( int number = 10; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // execute this block // if number is not greater than 0 else ( System.out.println("The number is not positive."); ) System.out.println("Statement outside if… else block"); ) )
Produzione
Il numero è positivo. Dichiarazione al di fuori di if … else block
Nell'esempio sopra, abbiamo una variabile denominata numero. Qui, l'espressione di test number> 0
controlla se il numero è maggiore di 0.
Poiché il valore del numero è 10, l'espressione di test restituisce true
. Quindi il codice all'interno del corpo di if
viene eseguito.
Ora, cambia il valore del numero in un numero intero negativo. Diciamo -5.
int number = -5;
Se eseguiamo il programma con il nuovo valore di numero, l'output sarà:
Il numero non è positivo. Dichiarazione al di fuori di if … else block
Qui, il valore del numero è -5. Quindi l'espressione di test restituisce false
. Quindi il codice all'interno del corpo di else
viene eseguito.
3. Java if … else … if Istruzione
In Java, abbiamo un if … else … if ladder, che può essere utilizzato per eseguire un blocco di codice tra più altri blocchi.
if (condition1) ( // codes ) else if(condition2) ( // codes ) else if (condition3) ( // codes )… else ( // codes )
Qui, le if
istruzioni vengono eseguite dall'alto verso il basso. Quando la condizione di test è true
, if
vengono eseguiti i codici all'interno del corpo di quel blocco. E il controllo del programma salta fuori dalla scala if … else … if .
Se tutte le espressioni di test lo sono false
, else
vengono eseguiti i codici all'interno del corpo di .
Come funziona la scala if … else … if?
Lavorando su se … altro … se scalaEsempio 4: Java if … else … if Istruzione
class Main ( public static void main(String() args) ( int number = 0; // checks if number is greater than 0 if (number> 0) ( System.out.println("The number is positive."); ) // checks if number is less than 0 else if (number < 0) ( System.out.println("The number is negative."); ) // if both condition is false else ( System.out.println("The number is 0."); ) ) )
Produzione
Il numero è 0.
In the above example, we are checking whether number is positive, negative, or zero. Here, we have two condition expressions:
number> 0
- checks if number is greater than 0number < 0
- checks if number is less than 0
Here, the value of number is 0. So both the conditions evaluate to false
. Hence the statement inside the body of else
is executed.
Note: Java provides a special operator called ternary operator, which is a kind of shorthand notation of if… else… if statement. To learn about the ternary operator, visit Java Ternary Operator.
4. Java Nested if… else Statement
In Java, è anche possibile utilizzare if… else
istruzioni all'interno di if… else
un'istruzione. Si chiama if… else
istruzione annidata .
Ecco un programma per trovare il più grande di 3 numeri utilizzando l' if… else
istruzione annidata .
Esempio 5: istruzione if … else annidata
class Main ( public static void main(String() args) ( // declaring double type variables Double n1 = -1.0, n2 = 4.5, n3 = -5.3, largest; // checks if n1 is greater than or equal to n2 if (n1>= n2) ( // if… else statement inside the if block // checks if n1 is greater than or equal to n3 if (n1>= n3) ( largest = n1; ) else ( largest = n3; ) ) else ( // if… else statement inside else block // checks if n2 is greater than or equal to n3 if (n2>= n3) ( largest = n2; ) else ( largest = n3; ) ) System.out.println("Largest Number: " + largest); ) )
Uscita :
Numero più grande: 4.5
Nei programmi di cui sopra, abbiamo assegnato noi stessi il valore delle variabili per semplificare l'operazione.
Tuttavia, nelle applicazioni del mondo reale, questi valori possono provenire da dati di input dell'utente, file di registro, invio di moduli e così via.