Нет способа использовать оператор if более или менее эффективно.
... и еще больше - имейте это в виду, и это относится не только к операторам if:
Вы должны никогда пытаться оптимизировать используемые выражения, из соображений производительности - написать код, который фокусируется на удобочитаемости (а в смысле на удобстве обслуживания). Причина этого в том, что существует JIT (Just-in-time компилятор), который оптимизирует байт-код и изменяет инструкции, которые вы указали в своем байт-коде.
Если вы думаете об использовании троичного оператора, подумайте, не приведет ли это к тому, что код станет труднее понять (если над кодом работают несколько человек). Если вы просто работаете над кодом, тогда делайте как хотите - и да:
Object var = boolean-expression ? some-value : another-value;
намного компактнее, чем:
Object var;
if (boolean-expression)
var = some-value;
else
var = another-value;