Java una linea if instruzione

Rashmi Patidar 12 ottobre 2023
  1. Operatore ternario in Java
  2. Istruzione if-else di una riga che utilizza filter in Java 8
Java una linea if instruzione

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
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn