编程语言,类型为王
1. 数据类型分类
java是强类型变成语言。
强类型
- 任何变量,必须先声明,后使用。
- 任何变量接受的值,必须与变量类型相匹配
- 基本类型
- 整数
- byte : 1字节
- short : 2字节
- int : 4字节
- long : 8 字节
- 字符
- char : 2 字节
- 浮点
- float : 4字节 (科学计数法存储,易发生数据不精确的问题)
- double : 8字节 (java 默认浮点类型)
- 另有三种特殊数值,用于判断代码中的非法操作,分别是正无穷大(所有正无穷大都相等, POSITIVE_INFINITY)、负无穷大(所有负无穷大都相等, NEGATIVE_INFINITY)、非数(不等于任何数,NaN)
- 布尔
- boolean : true / false
- 整数
- 引用类型
- 类 (字符串是一种引用类型,是一种类)
- 接口
- 数组
- null : null 是其唯一的值。
2. 数据类型转换
有自动转换,强制转换
2.1 自动转换
发生在数值类型之间,数值类型之间的类型转换均是自动发生的。原则是严格保持与表达式中最高等级操作数类型相同,并且按照运算顺序转换。
- 转换顺序:
(char, byte short) --> int --> long --> float --> double
- 其中,char, byte, short 之间的运算,均会自动转换为 int.
- 基本类型与字符串连接是,均转换为字符串类型。但是 ‘a’ + 3 + “abc” 会按照运算顺序,先对 ‘a’ + 3转换,至int, 然后实现连接
2.2 强制转换
- (newType)Value
- 包装类。
Reference
- 李刚, 疯狂java讲义(第5版)