![Java编程从零开始学(视频教学版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/137/29977137/b_29977137.jpg)
2.3 数据类型
大自然的事物千奇百怪。在Java编程中,也存在很多种不同的数据类型,如整数、小数、字符等。这些不同的类型都需要用不同的数据类型来进行定义,从而能使得所有的数据进行有效的区分。下面简单介绍一下Java中的数据类型。
Java的数据类型一般分为两大类:基本数据类型和引用数据类型,如图2.1所示。
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P37_2900.jpg?sign=1738780900-x33C0fYL5aFSkT6oQcydLhSZGA6WfV8T-0-dffc6b8308100630c7fb89fea4d98d30)
图2.1 Java数据类型
基本数据类型包含3个大类,分别是数值型、字符型(char)和布尔型(boolean)。数值型又可分为整数类型和浮点类型。其中,整数类型包括字节型(byte)、短整型(short)、整型(int)和长整型(long),浮点类型包含浮点型(float)和双精度型(double)。这些基本数据类型是由程序设计语言提供的,无法再进行划分,并且在内存中占用的字节数是固定的,不会随着软件和硬件环境的改变而发生变化。引用数据类型一般是由多个基本数据类型组成的,用来作为特殊的数据类型使用。
在系统运行时,每一种数据类型都是存储在内存中的。对于基本数据类型来说,每一类都有唯一的对应类型关键字,如表2-2所示。
表2-2 基本数据类型的内存存储
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-T38_51707.jpg?sign=1738780900-QRkxnq9FXdp3GvdN9fk7no02ieySBP6Q-0-a275c654be9c53b7c86c7f67d9379ecc)
接下来对表格进行分解,按照整型、浮点型、字符型和布尔型来讲解。
注意
表2-2中数据类型占用的字节数是在32位JVM中获取的数值。
2.3.1 整型
整型变量一般用来表示整数。整型类型不同,整型变量能够表示的数据大小也不同,默认的为int。整型的使用如示例2-1所示。
【示例2-1】整型变量的使用
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P38_51708.jpg?sign=1738780900-O04nDqdwN3p9ZyhpcmpeAlz2ZkNi7hlL-0-22173b2d201a038217a90406ecc3bb35)
程序编译后,运行结果如下:
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P38_51709.jpg?sign=1738780900-lPONKnnVFdJPgMgpvniNdYMtjWv9wo5b-0-eb001e110ac31e09395904d33953fd47)
示例2-1中简单定义了一个int型变量、一个short变量,然后对其进行了加法操作。在实际使用中,可以根据目标数据的最大值来决定使用哪种类型。
注意
long类型的数据,结尾要有“l”或“L”来表明长整型身份。
2.3.2 浮点型
浮点型一般用来表示小数。数据类型的不同,浮点型变量能够表示的精度也不同,Java中浮点数的默认类型为double。浮点数可以使用科学计数法来表示,一般使用指数e或E尾数,如示例2-2所示。
【示例2-2】浮点型变量的使用
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P39_51712.jpg?sign=1738780900-jglEuJOIS7XctQ7Kkwhjqk8SYxFb65t2-0-04b702cb90c32e2cccef82815dc92f03)
程序编译后,运行结果如下:
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P39_51713.jpg?sign=1738780900-6KONYWQ5MHivO0b6mgWfUC2o4x3FNW5e-0-a579a2a6d8d2f34364a1dfbc183d0747)
示例2-2中定义了两个double类型变量,用来表示两个小数,并且使用新的变量来表示周长。
注意
float类型的数据,结尾要有“f”或“F”来表明浮点型的身份;double类型的数据,结尾可加“d”或“D”,也可以不加,因为浮点数默认是double。
2.3.3 字符型
字符型主要用来表示单个字符。字符需要使用单引号引起来,例如:
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P39_51715.jpg?sign=1738780900-HtSNfsSNod3nZNN2RGDL6Qfqgjp0LZZv-0-7de70717eaf6d27c5360b5984e32b1ac)
对于第一个示例来说,定义了一个字符型变量a,其数值为'a'。而对于第二个示例来说,定义一个字符型变量asciiChar,并赋值为65。二者都是对的,因为所有的字符都是按照ASCII码的数值存储在系统中的,所以使用字符'a'和65都可以表示字符型变量,其中65对应的字符为'A'。字符型变量的使用如示例2-3所示。
【示例2-3】字符型变量的使用
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P40_51716.jpg?sign=1738780900-NCrOCoBhMUK22AjTRr3OEZDGzXytmCKd-0-f4556973f456dd0b839cc77235261d00)
程序编译后,运行结果如下:
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P40_51717.jpg?sign=1738780900-i52KW3U2fcdBMGtVAWVYX1dhNRqhJZpx-0-56106c8ba7729bd6dcdebb13d8ad282b)
通过示例2-3的运行结果可以看出,虽然数值都是65,但是变量num属于整型变量,因此其值就是65,不会发生任何变化;对于变量assicChar来说,因为是字符类型,所以在输出时会转换为ASSIC字符'A'。
2.3.4 布尔型
布尔型一般用来标识逻辑判断的结果,使用true标识逻辑真,使用false标识逻辑假。布尔型变量的使用如示例2-4所示。
【示例2-4】布尔型变量的使用
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P40_51718.jpg?sign=1738780900-iwSrcdMvHdkHZy7tcSY8PbCAVnWF5gPG-0-4e5e5053af76f9d40a45c9777f19d0e9)
程序编译后,运行结果如下:
![](https://epubservercos.yuewen.com/96FD95/16499866704817306/epubprivate/OEBPS/Images/Figure-P41_51719.jpg?sign=1738780900-HGNj96h8P6CHIAfUOrLF4MqFhCcngYwe-0-842ecc81b2f6fae7e3928f92e5d4c2c9)
对于整数2和3来说,2小于3是成立的,因此其逻辑判断的结果为ture,反之亦然。