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 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