Java One Line if Declaração

Rashmi Patidar 12 outubro 2023
  1. Operador ternário em Java
  2. Instrução if-else de uma linha usando filter em Java 8
Java One Line if Declaração

Existem 52 palavras-chave ou palavras predefinidas na linguagem Java. Chamamos essas palavras de reservadas, pois têm algum significado predefinido específico no idioma.

Fora desse conjunto de palavras reservadas, if-else é uma delas. Usamos esta palavra-chave para especificar qualquer condição. A estrutura do bloco if-else é semelhante a esta:

if (condition == true) {
  doThis;
} else {
  doSomethingElse;
}

Podemos dar qualquer expressão na condition presente entre parênteses ().

Se a expressão no bloco if resultar em true, então, a instrução doThis será executada. E se uma expressão for avaliada como falsa, então doSomethingElse deve ser executado.

Como podemos ver, ele consome cinco linhas para fazer um tipo de operação simples if-else. A alternativa a esse tipo de avaliação é o uso de operadores ternários.

Operador ternário em Java

Um operador ternário é uma forma abreviada da instrução Java if-else. A sintaxe deste operador é definida a seguir.

condition ? expression1 : expression2;

Na declaração acima, a condition é avaliada primeiro. Se condition for avaliada como verdadeira, então expression1 é executada. E se condition for avaliada como false, então expression2 será executada.

Como o operador acima aceita três condições de operandos e duas expressões, ele é conhecido como operador ternário.

Abaixo está o programa de exemplo para demonstrar o mesmo.

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);
  }
}

No programa acima, marks>70 é a condição if. ? é a cláusula then e : é else parte dela.

O programa deve avaliar se as marcas são mais do que um número predefinido ou não. Como a condição que é marks > 70 é avaliada como falsa, No é impresso na saída do console.

A saída para o programa acima é a seguinte.

Has made a distinction: No

Instrução if-else de uma linha usando filter em Java 8

Java 8 e versões superiores têm a utilidade de streams. O método de filter de streams recebe um Predicado e se comporta como if-else na linguagem 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);
  }
}

O programa acima instancia uma lista usando o método Arrays.asList(). Aqui, fornecemos 1 e 2 como os valores de String. Agora fizemos um stream desta lista usando a função stream. Depois de criar o fluxo, a função filter é aplicada. Esta função filtra os dados com base na condição definida. O operador -> é chamado de operador lambda. Ele itera cada valor do fluxo na função filter. E se a condição for satisfeita, o valor vai para o método forEach() para executar as ações finais.

Como não há nenhum caso definido para lidar com outra condição, o valor será simplesmente ignorado e descartado.

E o resultado do programa acima é dado abaixo:

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

Artigo relacionado - Java Statement