布尔变量

时间:2019-04-21 10:02:33

标签: java if-statement boolean

我认为boolean的默认值为false?为什么它改为打印true语句? 我的输出告别


public class Test {

public static void main (String [] args) {

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

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

2 个答案:

答案 0 :(得分:1)

您的代码未使用布尔值的默认值。 因为此部分为真,所以您始终打印System.out.print("goodbye");。 为此,请使用以下代码


public class Test {
    static boolean defaultValue;
public static void main(String[] args) {
System.out.println("Default value is "+defaultValue); if(defaultValue) System.out.println("hello"); else System.out.println("goodbye"); } }

答案 1 :(得分:0)

清除程序在评论中告诉您的内容是正确的。您似乎对我认为的语法有错误的印象。以您提供的以下代码为例。

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

if块中的代码将从不运行,因为表达式 false的计算结果始终为布尔值false。您正在要求Java执行以下操作:'嘿,运行此代码 if 我放在方括号中的内容评估为true,但您放在方括号中的内容将始终评估为false 。这就是为什么Java将始终在示例中的else块中运行代码的原因。

我希望这可以解决问题。