



3.3 数据类型
9月10日,11:40,晴
我:“Java中的数据也有不同的类型吗?”
KNOWALL:“嗯,就像人生有百态,形形色色各不相同(见图3-6)。同样,Java中的数据类型可以分为简单数据类型和复杂数据类型两种。简单数据类型是Java的基础类型,它包括整数类型、浮点类型、字符类型和布尔类型,本章将重点讲解这些内容。复合数据类型由简单数据类型组成,是用户根据自己的需要定义并实现其运算的类型,如类、接口、数组。”
图3-6 人生和Java数据都是形形色色的
Java中简单数据类型是最简单的,主要由byte、short、int、long、char、float、double和boolean组成,简单数据类型所占的内存位数以及取值范围如表3-1所示。
表3-1 数据类型
在Java程序中,存储字符的数据类型是字符类型,用字母char表示。下面展示一个代码,用户看完代码后,再进行讲解,代码【光盘:源代码/第3章/Zifu.java】如下:
将代码进行编译,运行得到如图3-7所示的结果。
图3-7 字符型
我:“从执行效果可看出显示了一些图形,这是怎么回事?怎么会出现这样的形状呢?”
KNOWALL:“这是因为使用Unicode码表示的结果。Unicode所定义的国际化字符集能表示目前所有的字符集,如拉丁文、希腊语等几十种语言,这些大部分是看不懂的,用户不需要掌握。读者请注意,在执行的结果处有一个问号,它有可能是真的问号,有可能是不能显示的符号。但是为了正常输出这些符号,该怎么处理? Java提供了转义字符,以“\”开头,十六进制计数法以“\”和“U”开头,后面跟着十六进制数字,常用的转义字符如表3-2所示。”
表3-2 转义字符
看下面的一段代码,其代码【光盘:源代码/第3章/Zifu1.java】如下:
对代码进行编译,运行得到如图3-8所示的结果。
图3-8 运行的结果
9月10日,11:50,晴
我:“什么是整型,就是整数吗?”
KNOWALL:“整型是Java常用的数据类型,它是有符号的32位整数数据类型,整型int用在数组、控制语句等多个地方,Java系统会把byte和short自动提升为整型int。在前面的程序中,读者已经接触过整型。”
下面通过一段代码讲解如何定义整型数据,其代码【光盘:源代码/第3章/Zheng.java】如下:
对上面的代码进行编译,运行结果如图3-9所示。
图3-9 整型数据示例
9月10日,12:00,晴
我:“和我猜的一样,有了整型,必有一种类型表示小数!”
KNOWALL:“整型在计算机中肯定是不够用的,这时候就出现了浮点型数据,浮点数据用来表示Java中的浮点数,浮点类型数据表示有小数部分的数字,它由两种类型组成:单精度浮点型(float)和双精度浮点型(double),它们的取值范围比整型大许多,下面对其进行讲解。”
单精度浮点型是专指占用32位存储空间的单精度数据类型。在编程的过程中,当需要小数部分且对精度要求不高时,一般使用单精度浮点型,这种数据类型很少用,在此不详细讲解。
双精度浮点类型占用64位存储空间。双精度浮点型在计算中占有很大的比重,它能保证数值的准确性。
布尔类型是一种表示逻辑值的简单类型,它的值只能是真或假这两个值中的一个。它是所有的诸如a<b 这样的关系运算的返回类型。布尔类型对治理像if、for这样的控制语句的条件表达式也是必需的。下面通过一段代码进行讲解,其代码【光盘:源代码/第3章/Bugu.java】如下:
对上面的代码进行编译,运行结果如图3-10所示。
图3-10 布尔类型示例