小朋友学Python(3):布尔类型

本节讲解C/C++/Java/Python中的布尔类型。

一、C语言

C语言中没有布尔类型,判断时 ,0为假,非0为真。

二、C++

C++的bool是布尔类型,取值为true或false
程序:

#include <iostream>
using namespace std;

int main() 
{
    bool a = true;
    bool b = false;
    cout << "a = " << a << endl;
    cout << "b = " << b << endl;
    cout << "Size of bool is " << sizeof(bool) << " Byte" << endl;
    
    return 0;
}

运行结果:
a = 1
b = 0
Size of bool is 1 Byte

三、Java

Java中的bool是布尔类型,取值为true或false
程序:

class BooleanTest {
    public static void main(String[] args) {
        boolean a = true;
        boolean b = false;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        System.out.println("2 > 1 is " + (2 > 1));
    }
}

运行结果:

a = true
b = false
2 > 1 is true

说明:
Java中的布尔数据类型只有两个可能的值:true和false。但是它的“大小”并不是精确定义的,1个字节、4个字节都是有可能的。
理由来源是《Java虚拟机规范》一书中的描述:“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节。
虚拟机为什么要用int来代替boolean呢?为什么不用byte或short,这样不是更节省内存空间吗。大多数人都会很自然的这样去想,我同样也有这个疑问,经过查阅资料发现,使用int的原因是,对于当下32位的处理器(CPU)来说,一次处理数据是32位,具有高效存取的特点。所以这其实是运算效率和存储空间之间的博弈,两者都非常的重要。

四、Python

程序:

a = True
print(a)
b = False
print(b)
print(1 > 2)

运行结果:

bool.png

注意:
python中不能显示写出数据类型,否则会报错。
比如在C/C++/Java中,你可以写int a = 10;
但是在Python中,写int a = 10会导致编译错误,只能写成a = 10


加入少儿信息学奥赛学习QQ群请扫左侧二维码,关注微信公众号请扫右侧二维码


QQ群和公众号.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,281评论 19 139
  • 一、Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计...
    子非鱼_t_阅读 4,370评论 1 44
  • 1.应用场景 项目中的大量图标需要统一换色,可以用下面的方式, 只要自己封装一个工具类就可以了 1.xml中使用t...
    aafa41d78d15阅读 1,219评论 0 0
  • 前言 莎士比亚说:书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。我曾经...
    领教CoachMax阅读 262评论 0 0
  • 体验 钱是这世上最敏感的东西,一个人,不管性格多热情,待人多用心,只要在金钱的作风上为人诟病,就很难有好的人缘,更...
    若兰ZHOU阅读 99评论 2 2