Percursos
/
Java
Java
/
Programa
/
Operadores ternários
Op

Operadores ternários em Java

1 exercício

Sobre Operadores ternários

Os operadores ternários podem ser vistos como uma versão compacta de um if-else. Normalmente são usados em instruções return (mas não só), bastando uma única linha para tomar a decisão: devolvem o valor da esquerda se a expressão for true e o valor da direita se for false.

Muitas expressões simples de if/else podem ser simplificadas com operadores ternários.

// this ternary statement
return 5 > 4 ? true : false;

// is equivalent to this if/else
if ( 5 > 4 ) {
    return true;
} else {
    return false;
}

Então, como decidir entre um if-else e um ternário? Os operadores ternários usam-se em cenários simples, em que só precisas de devolver um valor com base numa condição e não é necessário qualquer cálculo extra. Usa um if-else para tudo o resto: condições aninhadas, expressões grandes e situações em que é preciso mais do que uma linha para decidir o valor devolvido.

Embora possas aninhar operadores ternários, o código torna-se muitas vezes difícil de ler. Nesses casos, é preferível usar ifs aninhados.

// hard to read
int value = expr1 ? expr2 && expr3 ? val1 : (val2 + val3) : expr4;

// easier to read
if (expr1){

    if (expr2 && expr3){

        return val1;
    }

    return val2 + val3;
}
return val4;


Os operadores ternários e as instruções if/else são um bom exemplo de que, ao programar, tens várias formas de alcançar o mesmo resultado.

Para mais exemplos, consulta este e este.

Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Operadores ternários