Как Java обрабатывает операторы IF и эффективность

Мне просто любопытно, как на самом деле работает Java, когда дело доходит до if операторов. (Примечание: когда я говорю «компонент» ниже, я имею в виду отдельные части, проверенные оператором, например a , b , c )

более эффективны с точки зрения вычислений?

if (a && b && c) { do stuff }

или

if (a) {
  if (b) {
    if (c) {
    do stuff }
  }
}

Я спрашиваю, потому что важно, что Java делает в первой версии. Проверяет ли он все элементы в операторе или a , и если он ложный , то отменяет проверку остальной части оператора?

Если это так, то он имеет смысл поставить компонент с наибольшей вероятностью отказа в качестве первого компонента в операторе.

Если весь оператор проверяется каждый раз, имеет смысл разделить компоненты на несколько разных операторов, как во втором примере.

6
задан Chro 4 January 2012 в 17:16
поделиться