Например, если у меня есть оператор if следующим образом:
if(returnsFalse() && timeConsumingFunction()){
    //do whatever
}
Будет ли программа выполнять трудоемкую функцию или она поймет, что if оценивается как false после того, как функция «returnsFalse()» вернет свое значение? Как это работает на разных языках? В основном интересует java и c.
 
                                                                     
                                                                    