true,false,null是java关键字吗?它们在内存中究竟是以什么值来存储?

 我来答
sniper2003
推荐于2016-08-25 · TA获得超过1882个赞
知道小有建树答主
回答量:775
采纳率:100%
帮助的人:662万
展开全部
楼上的请注意了,一个对象赋值成null再被调用会不出空指针异常么?请考虑清楚,别误导人家!

作为关键字true,false,null都分别代表不同的含义。

"位"是内存中作为存储数据的基本单位,而我们又通常说,一个字节是8位,也就是 1byte = 8bit。

因为内存中,"位"是使用0和1来表示的,所以作为关键字,true的值在内存中就表示1,false在内存中就是表示0。

但是这里不要和整数(int)中的0和1相比,他们占用的内存空间是不一样的。一个int型的变量,占用的内存空间是4个字节,也就是4 * 8 = 32位,与true和false占用的内存空间是不同的。

而作为关键字null,解释起来就更是麻烦了。

当一个对象被声明时(Object o;),这个对象会以一个整数的字节数,只在内存堆栈(stack)中开辟一个内存指针。例如,我们使用Object o = new Object();实例化一个对象,那么在内存中的运行则是:在内存堆栈(stack)中开辟一个4个字节的指针,然后在内存堆区(heap)开辟这个对象所要存储的数据并初始化,然后在将之前在stack中的内存指针中赋上在heap中开辟的空间的首地址。

而如果Object o;没有进行实例化,则不可能使用o的引用。这时为了方便使用,则出现了null关键字。null关键字的意义也就是一个用来初始化对象的空引用。
搏古通今
2008-11-01 · TA获得超过485个赞
知道小有建树答主
回答量:723
采纳率:0%
帮助的人:367万
展开全部
对 这些都是JAVA的关键字
在内存中以二进制来存储的
true表示 真
false表示 假
null 表示 空的 没有的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7fda15c
2008-11-01 · TA获得超过864个赞
知道小有建树答主
回答量:675
采纳率:0%
帮助的人:594万
展开全部
在java中TRUE和FALSE是布尔值,是基本数据类型,表示真和假
null可以看成是类类型的,当一个对象还没有赋以初值时可以先把它初始化成null,这样不会产生空指针异常
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
六月赤兔的金融世界
2012-03-11
知道答主
回答量:28
采纳率:0%
帮助的人:12.5万
展开全部
什么乱七八糟的。这三个都不是关键字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式