首页 > 编程笔记 > Java笔记 阅读:18

Java基本数据类型汇总(8种,新手必看)

计算机编程是为了解决实际问题,而实际问题中会存在不同类别的数据,因此,每种编程语言都会提供不同的数据类型,数据类型规定某类数据在计算机中的存储和运算规则。

Java 有两种数据类型,即基本数据类型和引用数据类型。其中基本数据类型又分为八种,六种数值类型,一种字符类型和一种布尔类型;引用数据类型分为数组、类和接口,如下图所示。


图 1 Java数据类型

Java整数类型

整数类型用来存储整数数值。可以是正数,也可以是负数。

整型数据在 Java 程序中有 3 种表示形式,分别为十进制、八进制和十六进制:

整型数据根据所占内存大小的不同,可分为 byte、short、int 和 long 四种类型。它们具有不同的取值范围,如下表所示。

表 1 整数类型
数据类型 内存空间 取值范围 默认值
byte 8b -128~127 0
short 16b -32768~32767 0
int 32b -2147483648~2147483647 0
long 64b -9223372036854775808~9223372036854775807 0L

【实例 1】定义不同的整数类型变量并赋值,实例代码如下。
// 定义 byte 型变量 a、b
byte a = 100, b = -50;
// 定义 short 型变量 s、r
short s = 1000, r = -20000;
// 定义 int 型变量 x、y
int x = 100000, y = -200000;
// 定义 long 型变量 a、b
long a = 100000L, b = -100000000L;
在定义上述变量时,要注意变量的取值范围,超出取值范围就会出错。特别地,对于 long 型值需要在数字后加 L 或 l。理论上不分大小写,但是若写成 l 容易与数字 1 混淆,不容易分辩,所以最好大写。

Java浮点类型

浮点类型表示有小数部分的数字。Java 语言中浮点类型分为单精度浮点类型(float)和双精度浮点类型(double)。它们具有不同的取值范围,如下表所示。

表 2 浮点型数据类型
数据类型 内存空间 取值范围 默认值
float 32b 1.4E-45~3.4028235E38 0.0f
double 64b 4.9E-324~1.7976931348623157E308 0.0d

在默认情况下,小数都被看作 double 型,若使用 float 型小数,则需要在小数后面添加 F 或 f。可以使用后缀 d 或 D 来明确表明这是一个 double 类型数据,不加 d 不会出错,但声明 float 型变量时如果不加 f,系统会认为变量是 double 类型而出错。

【实例 2】定义浮点型变量,实例代码如下。
float x = 100.23f;
double y1 = 32.12d;
double y2 = 123.45;
在定义上述变量时,要注意变量的取值范围,超出取值范围就会出错。

Java字符类型

字符类型(char)用于存储单个 Unicode 字符,占用 16 位(两个字节)的内存空间。在定义字符型变量时,要以单引号表示,如 's' 表示一个字符。而 "s" 则表示一个字符串。虽然只有一个字符,但由于使用双引号,它仍然表示字符串,而不是字符。

【实例 3】声明字符型变量,实例代码如下。
char c1 = 'a';
同 C 和 C++ 语言一样,Java 语言也可以把字符作为整数对待,由于字符 'a' 在 Unicode 表中的排序位置是 97,因此允许将上面的语句写成如下代码。
char c1 = 97;
由于 Unicode 编码采用无符号编码,可以存储 65536 个字符(0x0000~0xffff),所以 Java 中的字符几乎可以处理所有国家的语言文字。若想得到一个 0~65536 之间的数所代表的 Unicode 表中相应位置上的字符,也必须使用 char 型显式转换。

有些字符(如回车符)不能通过键盘录入字符串中。针对这种情况,Java提供了转义字符,以反斜杠(\)开头,将其后的字符转变为另外的含义,例如'\n'(换行)、'\b'(退格)、'\' '(单引号)、'\t'(水平制表符)。

注意,用双引号引用的文字,是字符串而不是原始类型。它是一个类(class)String,被用来表示字符序列。字符本身符合 Unicode 标准,且上述 char 类型的转义字符适用于 String。

Java布尔类型

布尔类型又称逻辑类型。通过关键字 boolean 定义布尔类型变量,只有 true 和 false 两个值,分别代表布尔逻辑中的“真”和“假”。

布尔类型通常被用在流程控制中作为判断条件。布尔类型变量的默认值是 false。

【实例 4】声明 boolean 型变量,实例代码如下。
// 定义布尔型变量 b1,默认值是 false
boolean b1;
// 定义布尔型变量 b2,并赋给初值 true
boolean b2 = true;
和 C语言不同,在 Java 语言中,布尔值不能与整数类型进行转换。

相关文章