Sintaxe keyword Return

Boa dia caro colegas,
Estou iniciando no java e estou estudando alguns códigos quando me deparei com essa sintaxe para o comando return (return t == null ? -1 : t.height;) alguem poderia me explicar mais detalhado o porque dos ? : conheco somente o return normal.

Chama-se operador ternário. Serve para comparar condições. É como um return + if.

Por exemplo:

public boolean method(){
    int i = 1;
    return i==1? true : false;
}

Estamos dizendo:

retorne: i é igual a 1? se verdadeiro, retorne true : se falso, retorne false;

Onde “?” é indicado para checar a condição (i é igual a 1?), e o “:” serve para separar a ação em caso de true e false.

Vale a pesquisada no operador! (:

2 curtidas

Isso seria o equivalente a isso:

if (t == null) {
    return -1;
} else {
    return t.height;
}

Como o @FearX já explicou acima, o operador ternário simplifica a codificação deixando o código mais limpo e simples.

1 curtida

Muito obrigado pelo help