我认为boolean的默认值为false?为什么它改为打印true语句? 我的输出告别
public class Test {
public static void main (String [] args) {
if(false)
System.out.print("hello");
else System.out.print("goodbye");
}
}
答案 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块中运行代码的原因。
我希望这可以解决问题。