美文网首页
小朋友学Python(3):布尔类型

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

作者: 海天一树X | 来源:发表于2018-03-27 11:16 被阅读0次

    本节讲解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

    相关文章

      网友评论

          本文标题:小朋友学Python(3):布尔类型

          本文链接:https://www.haomeiwen.com/subject/oamjcftx.html