目录
一、数据类型的分类
Java是一种强类型设计语言,这就意味着必须为每一个变量声明一种类型。Java中数据类型分为8种基本数据类型和引用数据类型,其中8种基本数据类型包括6种数值型(4种整数型,2种实数型)、1种字符型和1种布尔型,具体如下表所示:
1、整数型
类型名 | 占用空间 | 取值范围 | 默认值 |
---|---|---|---|
byte | 1字节(8位) | 0 | |
short | 2字节(16位) | 0 | |
int | 4字节(32位) | 0 | |
long | 8字节(64位) | 0L |
长整型数值有一个后缀L,十六进制数值有一个前缀0x,八进制数值有一个前缀0,二进制数值有一个前缀0b(从Java7开始)。
Java中没有无符号类型(unsigned)。
2、实数型
类型名 | 占用空间 | 取值范围 | 默认值 |
---|---|---|---|
float | 4字节 | 0.0F | |
double | 8字节 | 0.0D |
实数型数据的默认类型是double型。
3、字符型(char)
Java使用Unicode字符编码,每个字符在内存中占两个字节,Unicode编码的最小值是'\u0000'(0),最大值是'\uffff'(65535),所以Java中的字符有65535个。
转义字符 | 含义 |
\r | 回车 |
\n | 换行 |
\t | 制表符 |
\b | 退格符 |
\' | 单引号字符 |
\" | 双引号字符 |
\\ | 反斜杠字符 |
\uxxxx | Unicode编码表示的字符 |
转义字符\u还可以出现在字符常量或字符串的引号之外,其他转义字符不可以。(由于各国文字的差异性和多样性,在设计出Unicode1.0后,Unicode字符最终还是超过了65536个,所以在现在的Java中,char类型用UTF-16编码描述一个代码单元。不建议在程序中使用char类型)
4、布尔型(boolean)
布尔型数值只有两个取值:true和false,默认值是false,注意布尔型数值不可以用其他字符(1和0、TRUE和FALSE)表示,只能是true和false。
二、数据类型之间的转换
图中实箭头表示无信息丢失的转换,虚箭头表示可能发生精度损失的转换。
1、自动类型转换
自动类型转换也叫隐式类型转换,指的是两种数据类型在转换过程中不需要显式地进行声明。可以进行类型转换的数据类型从小到大的顺序是:byte<short,char<int<long<float<double。
2、强制类型转换
在会发生精度损失的情况下想要完成数据类型转换,这时就需要强制类型转换(cast)来实现,语法:(目标类型)变量名。