Что напечатает следущий код?

public class Test {
    public static boolean methodOne() {
        System.out.println("methodOne ");
        return false;
    }

    public static boolean methodTwo() {
        System.out.println("methodTwo ");
        return true;
    }

    public static boolean methodThree() {
        System.out.println("methodThree ");
        return true;
    }

    public static void main(String[] args){
        System.out.println(Test.methodOne() || Test.methodTwo() || Test.methodThree());
    }
}
Explanation
Феномен "ускоренного вычисления" при работе с логическими выражениями. methodThree не будет вызван, т.к. результат уже не зависит от него.
Строки "methodOne" и "methodTwo" выводятся при вычислении значения выражения, затем выводится само значение выражения - true.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты