A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Jordon 中级黑马   /  2012-10-9 16:29  /  1588 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

既然boolean型数据内存中1表示true,0表示false。这者问什么不能运算操作,c语言就可以。这是什么情况?

评分

参与人数 1黑马币 +15 收起 理由
韩军博 + 15 很给力!

查看全部评分

4 个回复

倒序浏览
JAVA中boolean类型所占存储空间的大小没有明确指定,仅定义为能够取字面值true或false,在C++中bool类型所占存储空间就是1位,true和false其实就是常量,truer的值为1,false的值为0,但是在JAVA中就不同了,我个人觉得可能JAVA是为了更好的体现面向对象的设计思想才这样设计的吧,C++是既面向过程又面向对象,它针对bool类型的这种设计我想主要是考虑到要面向过程,个人观点,纯属交流
回复 使用道具 举报
每个语言都有自己特殊的一点东西,非要用的话,做个类型转换应该也可以吧;

我是菜鸟,说错了还请大牛们指正;
回复 使用道具 举报
本帖最后由 葬天 于 2012-10-9 17:12 编辑

This data type represents one bit of information,
but its "size" isn't something that's precisely defined.
官方原话:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

注意:but是重点

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

回复 使用道具 举报
c语言没boolean 当时c语言用0和1代表
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马