Логическая переменная - PullRequest
       6

Логическая переменная

0 голосов
/ 21 апреля 2019

Я думал, что по умолчанию логическое значение равно false?Почему вместо этого печатается истинное утверждение?Мой вывод прощай


public class Test {

public static void main (String [] args) {

if(false)
    System.out.print("hello");

else System.out.print("goodbye");
}
}

Ответы [ 2 ]

1 голос
/ 21 апреля 2019

Ваш код не использует значение по умолчанию логического значения. Вы всегда печатаете System.out.print("goodbye");, потому что этот раздел верен. Для этого используйте следующий код

<code>
public class Test {
    static boolean defaultValue;<br>
    public static void main(String[] args) {<br>
        System.out.println("Default value is "+defaultValue);
        if(defaultValue)
            System.out.println("hello");
        else 
            System.out.println("goodbye");
    }
}
0 голосов
/ 21 апреля 2019

То, что уборщик сказал вам в комментарии, верно. Кажется, у вас неправильное представление о синтаксисе. Возьмите следующий фрагмент кода, который вы дали в качестве примера.

if (false) {
    System.out.print("hello");
}

Код внутри блока if будет никогда не выполняться, потому что выражение false всегда будет принимать значение логического значения false. Вы просите Java выполнить следующее: «эй, запустите этот код , если то, что я положил в квадратные скобки, будет иметь значение true, но то, что вы поместите в квадратные скобки, будет всегда иметь значение false. Вот почему Java всегда будет запускать код внутри блока else в вашем примере.

Надеюсь, это немного прояснит ситуацию.

...