我已经开始学习java了。我在java中学习Boolean
。 Boolean有两种类型,true
& false
。在C中没有这样的东西。我们有0
或1
。所以,我想知道true
和false
是如何工作的?它是如何存储在内存中的?它需要1位或更多空间吗?是某种类型的字符串?例如,
class Test {
public static void main(String[] args) {
System.out.println( 5 > 6 );
}
}
我明白了:
false
那么,false
的大小是多少?它看起来像是java中的字符串。
答案 0 :(得分:2)
调用System.out.println()时为什么看到true和false的答案是因为println方法被重载了。其中一个方法采用boolean
的参数public void println(boolean x) {
synchronized (this) {
print(x);
newLine();
}
}
并且它调用了一个print()方法(也是重载的),定义为。
public void print(boolean b) {
write(b ? "true" : "false");
}
这意味着当您使用布尔值调用println时,jvm将调用显示的方法并将打印“true”或“false”
如果您正确设置了IDE,可以浏览java库的源代码,以便查看我上面发布的方法。
至于其他人发布的尺寸,答案取决于机器,如下所示What is the size of a boolean variable in Java?
答案 1 :(得分:1)
Boolean有两种类型,true&假的。
没有。 Boolean 是一种类型,它有两个值,true和false。
真假如何工作?它是如何存储在内存中的?是否需要1位或更多空间?
它没有定义,但JVM规范中的措辞主要支持存储为0或1值字节。
是某种类型的字符串吗?
没有
那么,假的大小是多少?
它没有被定义,你无法发现它。
它看起来像是java中的字符串。
不是你到目前为止提供的证据。