HOWTO · Java
Java una linea if instruzione
Questo articolo introduce l'istruzione if di una riga di Java
In questa pagina
Ci sono 52 parole chiave o parole predefinite nel linguaggio Java. Chiamiamo queste parole riservate poiché hanno un significato predefinito specifico nella lingua.
Fuori da questo pool di parole riservate, if-else è una di queste. Usiamo questa parola chiave per specificare qualsiasi condizione. La struttura del blocco if-else è simile a questa:
if (condition == true) {
doThis;
} else {
doSomethingElse;
}
Possiamo dare qualsiasi espressione nella condition presente tra parentesi ().
Se l’espressione nel blocco if risulta vero, l’istruzione doThis verrà eseguita. E se un’espressione restituisce false, allora dovrebbe essere eseguito doSomethingElse.
Come possiamo vedere, occorrono cinque righe per eseguire un semplice tipo di operazione if-else. L’alternativa a questo tipo di valutazioni è utilizzare operatori ternari.
Operatore ternario in Java
Un operatore ternario è una forma abbreviata dell’istruzione if-else di Java. La sintassi di questo operatore è definita come di seguito.
condition ? expression1 : expression2;
Nell’affermazione precedente, viene valutata per prima la condition. Se condition restituisce true, viene eseguita expression1. E se condition restituisce false, viene eseguita expression2.
Poiché l’operatore precedente accetta tre condizioni di operandi e due espressioni, viene indicato come operatore ternario.
Di seguito è riportato il programma di esempio per dimostrare lo stesso.
package ternaryOperator;
public class TernaryOperator {
public static void main(String[] args) {
int marks = 67;
String distinction = marks > 70 ? "Yes" : "No";
System.out.println("Has made a distinction : " + distinction);
}
}
Nel programma di cui sopra, marks>70 è la condizione if. ? è la clausola then e : è else parte di essa.
Il programma dovrebbe valutare se i segni sono più di un numero predefinito o meno. Poiché la condizione marks > 70 viene valutata falsa, No viene stampato sull’output della console.
L’output per il programma di cui sopra è il seguente.
Has made a distinction: No
Istruzione if-else di una riga che utilizza filter in Java 8
Java 8 e versioni successive hanno l’utilità dei flussi. Il metodo filter dei flussi accetta un Predicato e si comporta come if-else nel linguaggio Java.
package streams;
import java.util.Arrays;
import java.util.List;
public class Java
8Streams {
public static void main(String[] args) {
List<String> stringList = Arrays.asList("1", "2");
stringList.stream().filter(string -> string.equals("1")).forEach(System.out::println);
}
}
Il programma precedente crea un’istanza di una lista utilizzando il metodo Arrays.asList(). Qui abbiamo dato 1 e 2 come valori String. Ora abbiamo creato un flusso di questo elenco utilizzando la funzione stream. Una volta creato lo stream, viene applicata la funzione filter. Questa funzione filtra i dati in base alla condizione definita. L’operatore -> è chiamato operatore lambda. Itera ogni valore del flusso nella funzione filter. E se la condizione è soddisfatta, il valore va al metodo forEach() per eseguire le azioni finali.
Poiché non è stato definito alcun caso per gestire la condizione else, il valore deve essere semplicemente bypassato e verrà eliminato.
E l’output del programma sopra è dato di seguito:
1