Мне просто интересно, как на самом деле работает Java, когда дело доходит до if
операторов.(Примечание: когда я говорю «компонент» ниже, я имею в виду отдельные части, проверяемые оператором, например, a
, b
, c
)
Что является более эффективным с точки зрения расчетов?*
if (a && b && c) { do stuff }
или
if (a) {
if (b) {
if (c) {
do stuff }
}
}
Причина, по которой я спрашиваю, заключается в том, что важно то, что делает Java в первой версии.Проверяет ли он каждую вещь в утверждении или проверяет a
и, если это false
, отменяет проверку остальной части утверждения?
Если это так, то имеет смысл поместитькомпонент, скорее всего, потерпит неудачу как первый компонент в заявлении.
Если весь оператор проверяется каждый раз, тогда имеет смысл разделить компоненты на несколько разных операторов, как во втором примере.