基本数据类型---知识点总结
Java语言是强类型语言,强类型包含两方面的含义:①所有的变量必须先声明、后使用;②指定类型的变量只能接受类型与之匹配的值。
Java语言支持的类型分为两类:
l 基本类型:包括整数类型、浮点类型、Boolean类型、字符类型。
l 引用类型:包括类、接口、数组类型和null类型。所谓引用数据类型就是对一个对象的引用,对象包括实例和数组两种。
1. 基本数据类型的分类
1.1. 整型
整型用于表示没有小数部分的数值,它允许是负数。Java提供了4种整型。
类型 | 存储需求 |
byte | 1字节 |
short | 2字节 |
int | 4字节 |
long | 8字节 |
Java中整数值有4种表示方式:十进制、二进制、八进制和十六进制,其中二进制的整数以0b或0B开头(Java7以后才增加了对二进制的支持);八进制的整数以0开头,十六进制的整数以0x或0X开头,其中10~15分别以a~f(此处不区分大小写)来表示。
同样是从Java7开始,还可以位数字字面量加下划线,如用1_000_000来表示一百万。这些下划线只是为了让人更容易读。Java编译器会去掉这些下划线。
1.2. 浮点类型
浮点类型用于表示有小数部分的数值。
类型 | 存储需求 |
float | 4字节 |
double | 8字节 |
double表示这种类型的数值精度是float类型的两倍(有人称之为双精度数值)。绝大部分应用程序都采用double类型。在很多情况下,float类型的精度很难满足需求。
float类型的数值有一个后缀F(如,3.14F)。没有后缀F的浮点数值默认为double类型。当然,也可以在浮点数值后面添加后缀D(如,3,14D)。
Java语言的浮点数有两种表示形式。
l 十进制数形式:这种形式就是简单的浮点数,如3.15,3.0,.3。浮点数必须包含一个小数点,否则会被当成int类型处理。
l 科学计数法形式:例如3.15e2(即3.15x102),3.15E2(也是3.15x102)。
必须指出的是,只有浮点类型的数值才可以用科学计数法形式表示。例如,3200是一个int类型的值,但32E2则是浮点类型的值。
1.3. char类型
char类型用于表示单个字符。,字符类型值必须使用单引号(')括起来。存储需求:2字节。
1.4. boolean类型
boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。
2. 基本数据类型的类型转换
2.1. 自动类型转换
当把一个表数范围小的数值或变量直接赋值给另一个表数范围大的变量时,系统可以进行自动类型转换;否则就需要强制类型转换。
转换方向:byte-->short/char-->int-->long-->float-->double
不仅如此,当把任何基本类型的值和字符串进行连接运算时,基本类型的值将自动转换为字符串类型,虽然字符串类型不是基本类型,而是引用类型。因此,如果希望把基本类型的值转换为对应的字符串时,可以把基本类型的值和一个空字符串进行连接。
2.2. 强制类型转换
如果需要对自动转换的转换方向进行逆向转换时,则需要强制类型转换。
强制类型转换的语法格式:(targetType)value,强制类型转换的运算符号是圆括号(())。
3. 表达式类型的自动提升
当一个算数表达式中包含多个基本类型的值时,整个算数表达式的数据类型将发生自动提升。Java定义了如下的自动提升规则。
l 所有的byte类型、short类型和char类型将被提升到int类型。
l 整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。